|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- 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("<Response />", 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(<Response {...props}/>)
- 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"])
- })
- })
|