100 lines
1.9 KiB
JavaScript
100 lines
1.9 KiB
JavaScript
/* eslint-env mocha */
|
|
import expect, { createSpy } from "expect"
|
|
import { Map, fromJS } from "immutable"
|
|
import {
|
|
definitions
|
|
} from "corePlugins/oas3/spec-extensions/wrap-selectors"
|
|
|
|
describe("oas3 plugin - spec extensions - wrapSelectors", function(){
|
|
|
|
describe("definitions", function(){
|
|
it("should return definitions by default", function () {
|
|
|
|
// Given
|
|
const spec = fromJS({
|
|
openapi: "3.0.0",
|
|
components: {
|
|
schemas: {
|
|
a: {
|
|
type: "string"
|
|
},
|
|
b: {
|
|
type: "string"
|
|
}
|
|
}
|
|
}
|
|
})
|
|
|
|
const system = {
|
|
getSystem: () => system,
|
|
specSelectors: {
|
|
specJson: () => spec,
|
|
}
|
|
}
|
|
|
|
// When
|
|
let res = definitions(() => null, system)(fromJS({
|
|
json: spec
|
|
}))
|
|
|
|
// Then
|
|
expect(res.toJS()).toEqual({
|
|
a: {
|
|
type: "string"
|
|
},
|
|
b: {
|
|
type: "string"
|
|
}
|
|
})
|
|
})
|
|
it("should return an empty Map when missing definitions", function () {
|
|
|
|
// Given
|
|
const spec = fromJS({
|
|
openapi: "3.0.0"
|
|
})
|
|
|
|
const system = {
|
|
getSystem: () => system,
|
|
specSelectors: {
|
|
specJson: () => spec,
|
|
}
|
|
}
|
|
|
|
// When
|
|
let res = definitions(() => null, system)(fromJS({
|
|
json: spec
|
|
}))
|
|
|
|
// Then
|
|
expect(res.toJS()).toEqual({})
|
|
})
|
|
it("should return an empty Map when given non-object definitions", function () {
|
|
|
|
// Given
|
|
const spec = fromJS({
|
|
openapi: "3.0.0",
|
|
components: {
|
|
schemas: "..."
|
|
}
|
|
})
|
|
|
|
const system = {
|
|
getSystem: () => system,
|
|
specSelectors: {
|
|
specJson: () => spec,
|
|
}
|
|
}
|
|
|
|
// When
|
|
let res = definitions(() => null, system)(fromJS({
|
|
json: spec
|
|
}))
|
|
|
|
// Then
|
|
expect(res.toJS()).toEqual({})
|
|
})
|
|
})
|
|
|
|
})
|