fix: provide JSON editor for x-www-form-urlencoded bodies lacking properties (via #5180)

This commit is contained in:
kyle
2019-02-13 18:47:01 -06:00
committed by GitHub
parent 3f0c0666ba
commit 373da3bee3
5 changed files with 102 additions and 9 deletions

View File

@@ -0,0 +1,35 @@
openapi: "3.0.0"
info:
description: "A sample API for "
version: "1.0.0"
title: "Sample"
contact:
name: ""
url: "http://website.com"
email: "admin@mail.com"
paths:
/:
post:
summary: Create/modify object
operationId: postObject
parameters:
- name: filterParams
in: query
description: Additional filter fields
required: false
schema:
type: object
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
additionalProperties:
type: string
responses:
'200':
description: Status message
content:
application/json:
schema:
type: object

View File

@@ -0,0 +1,33 @@
openapi: "3.0.0"
info:
description: "A sample API for "
version: "1.0.0"
title: "Sample"
contact:
name: ""
url: "http://website.com"
email: "admin@mail.com"
paths:
/:
post:
summary: Create/modify object
operationId: postObject
parameters:
- name: filterParams
in: query
description: Additional filter fields
required: false
schema:
type: object
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
responses:
'200':
description: Status message
content:
application/json:
schema:
type: object

View File

@@ -0,0 +1,22 @@
describe("#5072: x-www-form-urlencoded request body input when `properties` is missing", () => {
it("should provide a JSON input for an empty object schema", () => {
cy
.visit("?url=/documents/bugs/5072/empty.yaml")
.get("#operations-default-postObject")
.click()
.get(".try-out__btn")
.click()
.get(`.opblock-section-request-body textarea`)
.should("have.value", "{}")
})
it("should provide a JSON input for an additionalProperties object schema", () => {
cy
.visit("?url=/documents/bugs/5072/additional.yaml")
.get("#operations-default-postObject")
.click()
.get(".try-out__btn")
.click()
.get(`.opblock-section-request-body textarea`)
.contains(`"additionalProp1": "string"`)
})
})