Merge pull request #3869 from feenr/bug/3658-add-enzyme-test-for-objectmodel
Bug/3658 add enzyme test for objectmodel
This commit is contained in:
@@ -4,7 +4,7 @@ We love contributions from our community of users! This document explains our gu
|
|||||||
|
|
||||||
#### Environment setup
|
#### 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.
|
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.
|
2. Run `npm install` in your Swagger-UI directory.
|
||||||
3. Run `npm run dev`. `localhost:3200` should open automatically.
|
3. Run `npm run dev`. `localhost:3200` should open automatically.
|
||||||
|
|||||||
63
test/components/object-model.js
Normal file
63
test/components/object-model.js
Normal file
@@ -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("<ObjectModel />", 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(<ObjectModel {...props}/>)
|
||||||
|
const renderedModelCollapse = wrapper.find(ModelCollapse)
|
||||||
|
expect(renderedModelCollapse.length).toEqual(1)
|
||||||
|
})
|
||||||
|
|
||||||
|
it("renders the object properties in order", function() {
|
||||||
|
const wrapper = shallow(<ObjectModel {...props}/>)
|
||||||
|
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")
|
||||||
|
})
|
||||||
|
})
|
||||||
Reference in New Issue
Block a user