Przeglądaj źródła

improvement: render OAS3 parameter type formats (#5796)

* Feature: Render OAS3 parameter type formats

* Add more test cases to parameter-row

* Update test/mocha/components/parameter-row.jsx

Co-Authored-By: Helen Kosova <hkosova@users.noreply.github.com>

* Update src/core/components/parameter-row.jsx

Co-authored-by: Helen Kosova <hkosova@users.noreply.github.com>
Co-authored-by: kyle shockey <kyleshockey@gmail.com>
bubble
Adam Jones 4 lat temu
committed by GitHub
rodzic
commit
e98e7be4ec
Nie znaleziono w bazie danych klucza dla tego podpisu ID klucza GPG: 4AEE18F83AFDEB23
2 zmienionych plików z 89 dodań i 2 usunięć
  1. +1
    -2
      src/core/components/parameter-row.jsx
  2. +88
    -0
      test/mocha/components/parameter-row.jsx

+ 1
- 2
src/core/components/parameter-row.jsx Wyświetl plik

@@ -212,7 +212,7 @@ export default class ParameterRow extends Component {
let { schema } = getParameterSchema(param, { isOAS3 })
let paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || Map()

let format = param.get("format")
let format = schema.get("format")
let type = schema.get("type")
let isFormData = inType === "formData"
let isFormDataSupported = "FormData" in win
@@ -364,4 +364,3 @@ export default class ParameterRow extends Component {
}

}


+ 88
- 0
test/mocha/components/parameter-row.jsx Wyświetl plik

@@ -0,0 +1,88 @@
/* eslint-env mocha */
import React from "react"
import { fromJS } from "immutable"
import expect from "expect"
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 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")
})
})

Ładowanie…
Anuluj
Zapisz