fix
This commit is contained in:
@@ -0,0 +1,257 @@
|
||||
import React from "react"
|
||||
import { List, fromJS } from "immutable"
|
||||
import { render } from "enzyme"
|
||||
import ParameterRow from "components/parameter-row"
|
||||
|
||||
describe("<ParameterRow/>", () => {
|
||||
const createProps = ({ param, isOAS3 }) => ({
|
||||
getComponent: () => "div",
|
||||
specSelectors: {
|
||||
parameterWithMetaByIdentity: () => param,
|
||||
isOAS3: () => isOAS3,
|
||||
isSwagger2: () => !isOAS3
|
||||
},
|
||||
oas3Selectors: { activeExamplesMember: () => {} },
|
||||
param,
|
||||
rawParam: param,
|
||||
pathMethod: [],
|
||||
getConfigs: () => ({})
|
||||
})
|
||||
|
||||
it("Can render Swagger 2 parameter type with format", () => {
|
||||
const param = fromJS({
|
||||
name: "petUuid",
|
||||
in: "path",
|
||||
description: "UUID that identifies a pet",
|
||||
type: "string",
|
||||
format: "uuid"
|
||||
})
|
||||
|
||||
const props = createProps({ param, isOAS3: false })
|
||||
const wrapper = render(<ParameterRow {...props}/>)
|
||||
|
||||
expect(wrapper.find(".parameter__type").length).toEqual(1)
|
||||
expect(wrapper.find(".parameter__type").text()).toEqual("string($uuid)")
|
||||
})
|
||||
|
||||
it("Can render Swagger 2 parameter type without format", () => {
|
||||
const param = fromJS({
|
||||
name: "petId",
|
||||
in: "path",
|
||||
description: "ID that identifies a pet",
|
||||
type: "string"
|
||||
})
|
||||
|
||||
const props = createProps({ param, isOAS3: false })
|
||||
const wrapper = render(<ParameterRow {...props}/>)
|
||||
|
||||
expect(wrapper.find(".parameter__type").length).toEqual(1)
|
||||
expect(wrapper.find(".parameter__type").text()).toEqual("string")
|
||||
})
|
||||
|
||||
it("Can render Swagger 2 parameter type boolean without format", () => {
|
||||
const param = fromJS({
|
||||
name: "hasId",
|
||||
in: "path",
|
||||
description: "boolean value to indicate if the pet has an id",
|
||||
type: "boolean"
|
||||
})
|
||||
|
||||
const props = createProps({ param, isOAS3: false })
|
||||
const wrapper = render(<ParameterRow {...props}/>)
|
||||
|
||||
expect(wrapper.find(".parameter__type").length).toEqual(1)
|
||||
expect(wrapper.find(".parameter__type").text()).toEqual("boolean")
|
||||
})
|
||||
|
||||
it("Can render OAS3 parameter type with format", () => {
|
||||
const param = fromJS({
|
||||
name: "petUuid",
|
||||
in: "path",
|
||||
description: "UUID that identifies a pet",
|
||||
schema: {
|
||||
type: "string",
|
||||
format: "uuid"
|
||||
}
|
||||
})
|
||||
|
||||
const props = createProps({ param, isOAS3: true })
|
||||
const wrapper = render(<ParameterRow {...props}/>)
|
||||
|
||||
expect(wrapper.find(".parameter__type").length).toEqual(1)
|
||||
expect(wrapper.find(".parameter__type").text()).toEqual("string($uuid)")
|
||||
})
|
||||
|
||||
it("Can render OAS3 parameter type without format", () => {
|
||||
const param = fromJS({
|
||||
name: "petId",
|
||||
in: "path",
|
||||
description: "ID that identifies a pet",
|
||||
schema: {
|
||||
type: "string"
|
||||
}
|
||||
})
|
||||
|
||||
const props = createProps({ param, isOAS3: true })
|
||||
const wrapper = render(<ParameterRow {...props}/>)
|
||||
|
||||
expect(wrapper.find(".parameter__type").length).toEqual(1)
|
||||
expect(wrapper.find(".parameter__type").text()).toEqual("string")
|
||||
})
|
||||
|
||||
it("Can render OAS3 parameter type boolean without format", () => {
|
||||
const param = fromJS({
|
||||
name: "hasId",
|
||||
in: "path",
|
||||
description: "boolean value to indicate if the pet has an id",
|
||||
schema: {
|
||||
type: "boolean"
|
||||
}
|
||||
})
|
||||
|
||||
const props = createProps({ param, isOAS3: true })
|
||||
const wrapper = render(<ParameterRow {...props}/>)
|
||||
|
||||
expect(wrapper.find(".parameter__type").length).toEqual(1)
|
||||
expect(wrapper.find(".parameter__type").text()).toEqual("boolean")
|
||||
})
|
||||
})
|
||||
|
||||
describe("bug #5573: zero default and example values", function () {
|
||||
it("should apply a Swagger 2.0 default value of zero", function () {
|
||||
const paramValue = fromJS({
|
||||
description: "a pet",
|
||||
type: "integer",
|
||||
default: 0
|
||||
})
|
||||
|
||||
let props = {
|
||||
getComponent: () => "div",
|
||||
specSelectors: {
|
||||
security() { },
|
||||
parameterWithMetaByIdentity() { return paramValue },
|
||||
isOAS3() { return false },
|
||||
isSwagger2() { return true }
|
||||
},
|
||||
fn: {},
|
||||
operation: { get: () => { } },
|
||||
onChange: jest.fn(),
|
||||
param: paramValue,
|
||||
rawParam: paramValue,
|
||||
onChangeConsumes: () => { },
|
||||
pathMethod: [],
|
||||
getConfigs: () => { return {} },
|
||||
specPath: List([])
|
||||
}
|
||||
|
||||
render(<ParameterRow {...props} />)
|
||||
|
||||
expect(props.onChange).toHaveBeenCalled()
|
||||
expect(props.onChange).toHaveBeenCalledWith(paramValue, "0", false)
|
||||
})
|
||||
it("should apply a Swagger 2.0 example value of zero", function () {
|
||||
const paramValue = fromJS({
|
||||
description: "a pet",
|
||||
type: "integer",
|
||||
schema: {
|
||||
example: 0
|
||||
}
|
||||
})
|
||||
|
||||
let props = {
|
||||
getComponent: () => "div",
|
||||
specSelectors: {
|
||||
security() { },
|
||||
parameterWithMetaByIdentity() { return paramValue },
|
||||
isOAS3() { return false },
|
||||
isSwagger2() { return true }
|
||||
},
|
||||
fn: {},
|
||||
operation: { get: () => { } },
|
||||
onChange: jest.fn(),
|
||||
param: paramValue,
|
||||
rawParam: paramValue,
|
||||
onChangeConsumes: () => { },
|
||||
pathMethod: [],
|
||||
getConfigs: () => { return {} },
|
||||
specPath: List([])
|
||||
}
|
||||
|
||||
render(<ParameterRow {...props} />)
|
||||
|
||||
expect(props.onChange).toHaveBeenCalled()
|
||||
expect(props.onChange).toHaveBeenCalledWith(paramValue, "0", false)
|
||||
})
|
||||
it("should apply an OpenAPI 3.0 default value of zero", function () {
|
||||
const paramValue = fromJS({
|
||||
description: "a pet",
|
||||
schema: {
|
||||
type: "integer",
|
||||
default: 0
|
||||
}
|
||||
})
|
||||
|
||||
let props = {
|
||||
getComponent: () => "div",
|
||||
specSelectors: {
|
||||
security() { },
|
||||
parameterWithMetaByIdentity() { return paramValue },
|
||||
isOAS3() { return true },
|
||||
isSwagger2() { return false }
|
||||
},
|
||||
oas3Selectors: {
|
||||
activeExamplesMember: () => null
|
||||
},
|
||||
fn: {},
|
||||
operation: { get: () => { } },
|
||||
onChange: jest.fn(),
|
||||
param: paramValue,
|
||||
rawParam: paramValue,
|
||||
onChangeConsumes: () => { },
|
||||
pathMethod: [],
|
||||
getConfigs: () => { return {} },
|
||||
specPath: List([])
|
||||
}
|
||||
|
||||
render(<ParameterRow {...props} />)
|
||||
|
||||
expect(props.onChange).toHaveBeenCalled()
|
||||
expect(props.onChange).toHaveBeenCalledWith(paramValue, "0", false)
|
||||
})
|
||||
it("should apply an OpenAPI 3.0 example value of zero", function () {
|
||||
const paramValue = fromJS({
|
||||
description: "a pet",
|
||||
schema: {
|
||||
type: "integer",
|
||||
example: 0
|
||||
}
|
||||
})
|
||||
|
||||
let props = {
|
||||
getComponent: () => "div",
|
||||
specSelectors: {
|
||||
security() { },
|
||||
parameterWithMetaByIdentity() { return paramValue },
|
||||
isOAS3() { return true },
|
||||
isSwagger2() { return false }
|
||||
},
|
||||
oas3Selectors: {
|
||||
activeExamplesMember: () => null
|
||||
},
|
||||
fn: {},
|
||||
operation: { get: () => { } },
|
||||
onChange: jest.fn(),
|
||||
param: paramValue,
|
||||
rawParam: paramValue,
|
||||
onChangeConsumes: () => { },
|
||||
pathMethod: [],
|
||||
getConfigs: () => { return {} },
|
||||
specPath: List([])
|
||||
}
|
||||
|
||||
render(<ParameterRow {...props} />)
|
||||
|
||||
expect(props.onChange).toHaveBeenCalled()
|
||||
expect(props.onChange).toHaveBeenCalledWith(paramValue, "0", false)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user