diff --git a/src/core/components/object-model.jsx b/src/core/components/object-model.jsx
index f5444ab1..9cea3e48 100644
--- a/src/core/components/object-model.jsx
+++ b/src/core/components/object-model.jsx
@@ -42,7 +42,7 @@ export default class ObjectModel extends Component {
let title = schema.get("title") || displayName || name
let requiredProperties = schema.get("required")
let infoProperties = schema
- .filter( ( v, key) => ["nullable"].indexOf(key) !== -1 )
+ .filter( ( v, key) => ["maxProperties", "minProperties", "nullable"].indexOf(key) !== -1 )
const JumpToPath = getComponent("JumpToPath", true)
const Markdown = getComponent("Markdown", true)
diff --git a/test/mocha/components/object-model.jsx b/test/mocha/components/object-model.jsx
index 892e1ee8..5a67d718 100644
--- a/test/mocha/components/object-model.jsx
+++ b/test/mocha/components/object-model.jsx
@@ -58,6 +58,10 @@ describe("", function() {
...props,
schema: props.schema.set("nullable", true)
}
+ const propsMinMaxProperties = {
+ ...props,
+ schema: props.schema.set("minProperties", 1).set("maxProperties", 5)
+ }
it("renders a collapsible header", function(){
const wrapper = shallow()
@@ -87,4 +91,20 @@ describe("", function() {
expect(renderProperties.get(0).props.propKey).toEqual("nullable")
expect(renderProperties.get(0).props.propVal).toEqual(true)
})
+
+ it("doesn't render `minProperties` and `maxProperties` if they are absent", function() {
+ const wrapper = shallow()
+ const renderProperties = wrapper.find(Property)
+ expect(renderProperties.length).toEqual(0)
+ })
+
+ it("renders `minProperties` and `maxProperties` if they are defined", function() {
+ const wrapper = shallow()
+ const renderProperties = wrapper.find(Property)
+ expect(renderProperties.length).toEqual(2)
+ expect(renderProperties.get(0).props.propKey).toEqual("minProperties")
+ expect(renderProperties.get(0).props.propVal).toEqual(1)
+ expect(renderProperties.get(1).props.propKey).toEqual("maxProperties")
+ expect(renderProperties.get(1).props.propVal).toEqual(5)
+ })
})