* default to empty `ImmutableMap` when grabbing op metadata
* pass `errors` into JsonSchema components
* Account for Immutable data structure in JavaScriptonSchema...
...and create empty Lists instead of Maps by default.
* Pass ImmutableList through to JsonSchema child components
* Add lazy resolving spec state extensions
* TEMPORARY: disable conventional resolved spec
* WIP
* Use resolveSubtree in Operation display
* Freebie: short-circuit Markdown component if it is given plaintext
* NEW DEFAULT BEHAVIOR: `defaultModelsExpandDepth: 1` does not expand individual models
* Render faked Model expander to trigger resolution
* Baseline support for Editor lifecycles
* Display operation summaries before the operation is resolved
* Test migrations
* WIP
* Swagger2 TIO Body params
* a bit of cleanup
* Debounce string param inputs
* Reach into unresolved operation for deprecated flag, if available
* Fire subtree request outside of render
* Remove debugging flags
* Fix logical errors in spec statePlugins
* TODOs become TODONEs!
* Migrate deeplinking feature to non-resolved spec action
* ESLint fixes
54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
/* eslint-env mocha */
|
|
import React from "react"
|
|
import expect, { createSpy } from "expect"
|
|
import { shallow } from "enzyme"
|
|
import { fromJS } from "immutable"
|
|
import Models from "components/models"
|
|
import ModelCollpase from "components/model-collapse"
|
|
import ModelComponent from "components/model-wrapper"
|
|
|
|
describe("<Models/>", function(){
|
|
// Given
|
|
let components = {
|
|
Collapse: ModelCollpase,
|
|
ModelWrapper: ModelComponent
|
|
}
|
|
let props = {
|
|
getComponent: (c) => {
|
|
return components[c]
|
|
},
|
|
specSelectors: {
|
|
isOAS3: () => false,
|
|
definitions: function() {
|
|
return fromJS({
|
|
def1: {},
|
|
def2: {}
|
|
})
|
|
},
|
|
specResolvedSubtree: () => {}
|
|
},
|
|
layoutSelectors: {
|
|
isShown: createSpy()
|
|
},
|
|
layoutActions: {},
|
|
getConfigs: () => ({
|
|
docExpansion: "list",
|
|
defaultModelsExpandDepth: 0
|
|
})
|
|
}
|
|
|
|
|
|
it("passes defaultModelsExpandDepth to ModelWrapper", function(){
|
|
// When
|
|
let wrapper = shallow(<Models {...props}/>)
|
|
|
|
// Then should render tabs
|
|
expect(wrapper.find("ModelCollapse").length).toEqual(1)
|
|
expect(wrapper.find("ModelWrapper").length).toBeGreaterThan(0)
|
|
wrapper.find("ModelComponent").forEach((modelWrapper) => {
|
|
expect(modelWrapper.props().expandDepth).toBe(0)
|
|
})
|
|
})
|
|
|
|
})
|