feat: Display nullable for object model itself (#5660) (#5868)

This commit is contained in:
Vladimir
2020-06-23 09:01:33 +08:00
committed by GitHub
parent e1e4d5bf83
commit 41e595beda
5 changed files with 80 additions and 1 deletions

View File

@@ -7,6 +7,7 @@ import ModelExample from "components/model-example"
import Immutable from "immutable"
import Model from "components/model"
import ModelCollapse from "components/model-collapse"
import Property from "components/property"
import { inferSchema } from "corePlugins/samples/fn"
describe("<ObjectModel />", function() {
@@ -15,7 +16,8 @@ describe("<ObjectModel />", function() {
"JumpToPath" : dummyComponent,
"Markdown" : dummyComponent,
"Model" : Model,
"ModelCollapse" : ModelCollapse
"ModelCollapse" : ModelCollapse,
"Property" : Property
}
const props = {
getComponent: c => components[c],
@@ -52,6 +54,11 @@ describe("<ObjectModel />", function() {
},
className: "for-test"
}
const propsNullable = {
...props,
schema: props.schema.set("nullable", true)
}
it("renders a collapsible header", function(){
const wrapper = shallow(<ObjectModel {...props}/>)
const renderedModelCollapse = wrapper.find(ModelCollapse)
@@ -66,4 +73,18 @@ describe("<ObjectModel />", function() {
expect(renderedModel.get(1).props.schema.get("name")).toEqual("b")
expect(renderedModel.get(2).props.schema.get("name")).toEqual("a")
})
it("doesn't render `nullable` for model when it absent", function() {
const wrapper = shallow(<ObjectModel {...props}/>)
const renderProperties = wrapper.find(Property)
expect(renderProperties.length).toEqual(0)
})
it("renders `nullable` for model", function() {
const wrapper = shallow(<ObjectModel {...propsNullable}/>)
const renderProperties = wrapper.find(Property)
expect(renderProperties.length).toEqual(1)
expect(renderProperties.get(0).props.propKey).toEqual("nullable")
expect(renderProperties.get(0).props.propVal).toEqual(true)
})
})