Skip to content

Commit 75d482f

Browse files
authored
Merge pull request #3869 from feenr/bug/3658-add-enzyme-test-for-objectmodel
Bug/3658 add enzyme test for objectmodel
2 parents fdc8313 + 49457fe commit 75d482f

File tree

2 files changed

+64
-1
lines changed

2 files changed

+64
-1
lines changed

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ We love contributions from our community of users! This document explains our gu
44

55
#### Environment setup
66

7-
0. Install Node.js (4 or newer) and npm (3 or newer).
7+
0. Install Node.js (6 or newer) and npm (3 or newer).
88
1. Make a fork of Swagger-UI on GitHub, then clone your fork to your machine.
99
2. Run `npm install` in your Swagger-UI directory.
1010
3. Run `npm run dev`. `localhost:3200` should open automatically.

test/components/object-model.js

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import React from "react"
2+
import expect from "expect"
3+
import { shallow } from "enzyme"
4+
import { fromJS } from "immutable"
5+
import ObjectModel from "components/object-model"
6+
import ModelExample from "components/model-example"
7+
import Immutable from "immutable"
8+
import Model from "components/model"
9+
import ModelCollapse from "components/model-collapse"
10+
import { inferSchema } from "corePlugins/samples/fn"
11+
12+
describe("<ObjectModel />", function() {
13+
const dummyComponent = () => null
14+
const components = {
15+
"JumpToPath" : dummyComponent,
16+
"Markdown" : dummyComponent,
17+
"Model" : Model,
18+
"ModelCollapse" : ModelCollapse
19+
}
20+
const props = {
21+
getComponent: c => components[c],
22+
isRef : false,
23+
schema: Immutable.fromJS(
24+
{
25+
"properties": {
26+
// Note reverse order: c, b, a
27+
c: {
28+
type: "integer",
29+
name: "c"
30+
},
31+
b: {
32+
type: "boolean",
33+
name: "b"
34+
},
35+
a: {
36+
type: "string",
37+
name: "a"
38+
}
39+
}
40+
}
41+
),
42+
specSelectors: {
43+
isOAS3(){
44+
return false
45+
}
46+
},
47+
className: "for-test"
48+
}
49+
it("renders a collapsible header", function(){
50+
const wrapper = shallow(<ObjectModel {...props}/>)
51+
const renderedModelCollapse = wrapper.find(ModelCollapse)
52+
expect(renderedModelCollapse.length).toEqual(1)
53+
})
54+
55+
it("renders the object properties in order", function() {
56+
const wrapper = shallow(<ObjectModel {...props}/>)
57+
const renderedModel = wrapper.find(Model)
58+
expect(renderedModel.length).toEqual(3)
59+
expect(renderedModel.get(0).props.schema.get("name")).toEqual("c")
60+
expect(renderedModel.get(1).props.schema.get("name")).toEqual("b")
61+
expect(renderedModel.get(2).props.schema.get("name")).toEqual("a")
62+
})
63+
})

0 commit comments

Comments
 (0)