diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3acb80b0..3b6d0c15 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -4,7 +4,7 @@ We love contributions from our community of users! This document explains our gu
#### Environment setup
-0. Install Node.js (4 or newer) and npm (3 or newer).
+0. Install Node.js (6 or newer) and npm (3 or newer).
1. Make a fork of Swagger-UI on GitHub, then clone your fork to your machine.
2. Run `npm install` in your Swagger-UI directory.
3. Run `npm run dev`. `localhost:3200` should open automatically.
diff --git a/package.json b/package.json
index dd30067d..3987317b 100644
--- a/package.json
+++ b/package.json
@@ -61,13 +61,13 @@
"react-addons-perf": "^15.4.0",
"react-addons-shallow-compare": "0.14.8",
"react-addons-test-utils": "^15.6.2",
- "react-collapse": "2.3.1",
+ "react-collapse": "^4.0.3",
"react-dom": "^15.6.2",
"react-height": "^2.0.0",
"react-hot-loader": "1.3.1",
"react-immutable-proptypes": "2.1.0",
"react-markdown": "^2.5.0",
- "react-motion": "0.4.4",
+ "react-motion": "^0.5.2",
"react-object-inspector": "0.2.1",
"react-redux": "^4.x.x",
"react-split-pane": "0.1.57",
diff --git a/src/core/components/content-type.jsx b/src/core/components/content-type.jsx
index 4a5e7349..6f81f671 100644
--- a/src/core/components/content-type.jsx
+++ b/src/core/components/content-type.jsx
@@ -37,7 +37,7 @@ export default class ContentType extends React.Component {
return (
-
diff --git a/test/components/object-model.js b/test/components/object-model.js
new file mode 100644
index 00000000..d926d04c
--- /dev/null
+++ b/test/components/object-model.js
@@ -0,0 +1,63 @@
+import React from "react"
+import expect from "expect"
+import { shallow } from "enzyme"
+import { fromJS } from "immutable"
+import ObjectModel from "components/object-model"
+import ModelExample from "components/model-example"
+import Immutable from "immutable"
+import Model from "components/model"
+import ModelCollapse from "components/model-collapse"
+import { inferSchema } from "corePlugins/samples/fn"
+
+describe("", function() {
+ const dummyComponent = () => null
+ const components = {
+ "JumpToPath" : dummyComponent,
+ "Markdown" : dummyComponent,
+ "Model" : Model,
+ "ModelCollapse" : ModelCollapse
+ }
+ const props = {
+ getComponent: c => components[c],
+ isRef : false,
+ schema: Immutable.fromJS(
+ {
+ "properties": {
+ // Note reverse order: c, b, a
+ c: {
+ type: "integer",
+ name: "c"
+ },
+ b: {
+ type: "boolean",
+ name: "b"
+ },
+ a: {
+ type: "string",
+ name: "a"
+ }
+ }
+ }
+ ),
+ specSelectors: {
+ isOAS3(){
+ return false
+ }
+ },
+ className: "for-test"
+ }
+ it("renders a collapsible header", function(){
+ const wrapper = shallow()
+ const renderedModelCollapse = wrapper.find(ModelCollapse)
+ expect(renderedModelCollapse.length).toEqual(1)
+ })
+
+ it("renders the object properties in order", function() {
+ const wrapper = shallow()
+ const renderedModel = wrapper.find(Model)
+ expect(renderedModel.length).toEqual(3)
+ expect(renderedModel.get(0).props.schema.get("name")).toEqual("c")
+ expect(renderedModel.get(1).props.schema.get("name")).toEqual("b")
+ expect(renderedModel.get(2).props.schema.get("name")).toEqual("a")
+ })
+})