fix: tolerate callback parameter values in ParameterRow (via #4873)

* fix: tolerate callback parameter values in ParameterRow
* Update 4867.js
This commit is contained in:
kyle
2018-09-12 20:56:23 -07:00
committed by GitHub
parent e28c502a22
commit 8fb0cfd2bb
3 changed files with 47 additions and 2 deletions

View File

@@ -31,7 +31,7 @@ export default class ParameterRow extends Component {
let { specSelectors, pathMethod, rawParam } = props
let { isOAS3 } = specSelectors
let parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam)
let parameterWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam) || new Map()
// fallback, if the meta lookup fails
parameterWithMeta = parameterWithMeta.isEmpty() ? rawParam : parameterWithMeta
@@ -87,7 +87,7 @@ export default class ParameterRow extends Component {
let paramWithMeta = specSelectors.parameterWithMetaByIdentity(pathMethod, rawParam)
if (paramWithMeta.get("value") !== undefined) {
if (!paramWithMeta || paramWithMeta.get("value") !== undefined) {
return
}
@@ -117,6 +117,10 @@ export default class ParameterRow extends Component {
const { showExtensions, showCommonExtensions } = getConfigs()
if(!param) {
param = rawParam
}
// const onChangeWrapper = (value) => onChange(param, value)
const JsonSchemaForm = getComponent("JsonSchemaForm")
const ParamBody = getComponent("ParamBody")

View File

@@ -0,0 +1,24 @@
openapi: 3.0.1
info:
title: test
version: "0.1"
paths:
/test:
post:
operationId: myOp
responses:
default:
description: ok
callbacks:
subscription:
http://$request.query.url:
post:
description: myCallback
parameters:
- name: myParam
in: query
schema:
type: string
responses:
default:
description: ok

View File

@@ -0,0 +1,17 @@
describe("#4867: callback parameter rendering", () => {
it("should render parameters correctly", () => {
cy
.visit("/?url=/documents/bugs/4867.yaml")
.get("#operations-default-myOp")
.click()
.contains("Callbacks")
.click()
.get(".callbacks-container")
.contains("http://$request.query.url")
.click()
.get(".parameters-container")
.contains("myParam")
})
})