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"]) }) })