diff --git a/src/core/components/parameter-row.jsx b/src/core/components/parameter-row.jsx
index 04466a38..456a8e63 100644
--- a/src/core/components/parameter-row.jsx
+++ b/src/core/components/parameter-row.jsx
@@ -81,12 +81,11 @@ export default class ParameterRow extends Component {
const Markdown = getComponent("Markdown")
let schema = param.get("schema")
-
let type = isOAS3 && isOAS3() ? param.getIn(["schema", "type"]) : param.get("type")
let isFormData = inType === "formData"
let isFormDataSupported = "FormData" in win
let required = param.get("required")
- let itemType = param.getIn(isOAS3 && isOAS3() ? ["schema", "items", "type"] : ["items", "type"])
+ let itemType = param.getIn(isOAS3 && isOAS3() ? ["schema", "items", "type"] : ["items", "type"])
let parameter = specSelectors.getParameter(pathMethod, param.get("name"))
let value = parameter ? parameter.get("value") : ""
diff --git a/src/core/components/response.jsx b/src/core/components/response.jsx
index 8c0a8bf1..02662f90 100644
--- a/src/core/components/response.jsx
+++ b/src/core/components/response.jsx
@@ -1,7 +1,7 @@
import React from "react"
import PropTypes from "prop-types"
import { fromJS, Seq } from "immutable"
-import { getSampleSchema } from "core/utils"
+import { getSampleSchema, fromJSOrdered } from "core/utils"
const getExampleComponent = ( sampleResponse, examples, HighlightCode ) => {
if ( examples && examples.size ) {
@@ -58,7 +58,6 @@ export default class Response extends React.Component {
code,
response,
className,
-
fn,
getComponent,
specSelectors,
@@ -117,7 +116,7 @@ export default class Response extends React.Component {
) : null}
diff --git a/test/components/response.js b/test/components/response.js
new file mode 100644
index 00000000..6919435a
--- /dev/null
+++ b/test/components/response.js
@@ -0,0 +1,58 @@
+import React from "react"
+import expect from "expect"
+import { shallow } from "enzyme"
+import { fromJS } from "immutable"
+import Response from "components/response"
+import ModelExample from "components/model-example"
+import { inferSchema } from "corePlugins/samples/fn"
+
+describe("", function() {
+ const dummyComponent = () => null
+ const components = {
+ headers: dummyComponent,
+ highlightCode: dummyComponent,
+ modelExample: ModelExample,
+ Markdown: dummyComponent,
+ operationLink: dummyComponent,
+ contentType: dummyComponent
+ }
+ const props = {
+ getComponent: c => components[c],
+ specSelectors: {
+ isOAS3() {
+ return false
+ }
+ },
+ fn: {
+ inferSchema
+ },
+ contentType: "application/json",
+ className: "for-test",
+ response: fromJS({
+ type: "object",
+ properties: {
+ // Note reverse order: c, b, a
+ "c": {
+ type: "integer"
+ },
+ "b": {
+ type: "boolean"
+ },
+ "a": {
+ type: "string"
+ }
+ }
+ }),
+ code: "200"
+ }
+
+ it("renders the model-example schema properties in order", function() {
+ const wrapper = shallow()
+ const renderedModelExample = wrapper.find(ModelExample)
+ expect(renderedModelExample.length).toEqual(1)
+
+ // Assert the schema's properties have maintained their order
+ const modelExampleSchemaProperties = renderedModelExample.props().schema.toJS().properties
+ expect( Object.keys(modelExampleSchemaProperties) ).toEqual(["c", "b", "a"])
+ })
+})
\ No newline at end of file