feat(sample-gen): infer implicit type and validation constraint types (#7117)
* this closes some dead ends of sample generation where no sample can be generated
This commit is contained in:
@@ -130,7 +130,7 @@ export default class Response extends React.Component {
|
|||||||
|
|
||||||
// Goal: find an example value for `sampleResponse`
|
// Goal: find an example value for `sampleResponse`
|
||||||
if(isOAS3) {
|
if(isOAS3) {
|
||||||
sampleSchema = activeMediaType.get("schema", Map({})).toJS()
|
sampleSchema = activeMediaType.get("schema")?.toJS()
|
||||||
if(examplesForMediaType) {
|
if(examplesForMediaType) {
|
||||||
const targetExamplesKey = this.getTargetExamplesKey()
|
const targetExamplesKey = this.getTargetExamplesKey()
|
||||||
const targetExample = examplesForMediaType
|
const targetExample = examplesForMediaType
|
||||||
|
|||||||
@@ -35,28 +35,33 @@ const primitive = (schema) => {
|
|||||||
const sanitizeRef = (value) => deeplyStripKey(value, "$$ref", (val) =>
|
const sanitizeRef = (value) => deeplyStripKey(value, "$$ref", (val) =>
|
||||||
typeof val === "string" && val.indexOf("#") > -1)
|
typeof val === "string" && val.indexOf("#") > -1)
|
||||||
|
|
||||||
|
const objectContracts = ["maxProperties", "minProperties"]
|
||||||
|
const arrayContracts = ["minItems", "maxItems"]
|
||||||
|
const numberContracts = [
|
||||||
|
"minimum",
|
||||||
|
"maximum",
|
||||||
|
"exclusiveMinimum",
|
||||||
|
"exclusiveMaximum"
|
||||||
|
]
|
||||||
|
const stringContracts = ["minLength", "maxLength"]
|
||||||
|
|
||||||
const liftSampleHelper = (oldSchema, target, config = {}) => {
|
const liftSampleHelper = (oldSchema, target, config = {}) => {
|
||||||
const setIfNotDefinedInTarget = (key) => {
|
const setIfNotDefinedInTarget = (key) => {
|
||||||
if(target[key] === undefined && oldSchema[key] !== undefined) {
|
if(target[key] === undefined && oldSchema[key] !== undefined) {
|
||||||
target[key] = oldSchema[key]
|
target[key] = oldSchema[key]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[
|
[
|
||||||
"example",
|
"example",
|
||||||
"default",
|
"default",
|
||||||
"enum",
|
"enum",
|
||||||
"xml",
|
"xml",
|
||||||
"type",
|
"type",
|
||||||
"maxProperties",
|
...objectContracts,
|
||||||
"minProperties",
|
...arrayContracts,
|
||||||
"minItems",
|
...numberContracts,
|
||||||
"maxItems",
|
...stringContracts,
|
||||||
"minimum",
|
|
||||||
"maximum",
|
|
||||||
"exclusiveMinimum",
|
|
||||||
"exclusiveMaximum",
|
|
||||||
"minLength",
|
|
||||||
"maxLength"
|
|
||||||
].forEach(key => setIfNotDefinedInTarget(key))
|
].forEach(key => setIfNotDefinedInTarget(key))
|
||||||
|
|
||||||
if(oldSchema.required !== undefined && Array.isArray(oldSchema.required)) {
|
if(oldSchema.required !== undefined && Array.isArray(oldSchema.required)) {
|
||||||
@@ -111,8 +116,9 @@ const liftSampleHelper = (oldSchema, target, config = {}) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = undefined, respectXML = false) => {
|
export const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = undefined, respectXML = false) => {
|
||||||
schema = objectify(schema)
|
if(schema && isFunc(schema.toJS))
|
||||||
let usePlainValue = exampleOverride !== undefined || schema.example !== undefined || schema && schema.default !== undefined
|
schema = schema.toJS()
|
||||||
|
let usePlainValue = exampleOverride !== undefined || schema && schema.example !== undefined || schema && schema.default !== undefined
|
||||||
// first check if there is the need of combining this schema with others required by allOf
|
// first check if there is the need of combining this schema with others required by allOf
|
||||||
const hasOneOf = !usePlainValue && schema && schema.oneOf && schema.oneOf.length > 0
|
const hasOneOf = !usePlainValue && schema && schema.oneOf && schema.oneOf.length > 0
|
||||||
const hasAnyOf = !usePlainValue && schema && schema.anyOf && schema.anyOf.length > 0
|
const hasAnyOf = !usePlainValue && schema && schema.anyOf && schema.anyOf.length > 0
|
||||||
@@ -159,7 +165,7 @@ export const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = und
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
const _attr = {}
|
const _attr = {}
|
||||||
let { xml, type, example, properties, additionalProperties, items } = schema
|
let { xml, type, example, properties, additionalProperties, items } = schema || {}
|
||||||
let { includeReadOnly, includeWriteOnly } = config
|
let { includeReadOnly, includeWriteOnly } = config
|
||||||
xml = xml || {}
|
xml = xml || {}
|
||||||
let { name, prefix, namespace } = xml
|
let { name, prefix, namespace } = xml
|
||||||
@@ -183,24 +189,43 @@ export const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = und
|
|||||||
res[displayName] = []
|
res[displayName] = []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const schemaHasAny = (keys) => keys.some(key => Object.prototype.hasOwnProperty.call(schema, key))
|
||||||
// try recover missing type
|
// try recover missing type
|
||||||
if(schema && !type) {
|
if(schema && !type) {
|
||||||
if(properties || additionalProperties) {
|
if(properties || additionalProperties || schemaHasAny(objectContracts)) {
|
||||||
type = "object"
|
type = "object"
|
||||||
} else if(items) {
|
} else if(items || schemaHasAny(arrayContracts)) {
|
||||||
type = "array"
|
type = "array"
|
||||||
|
} else if(schemaHasAny(numberContracts)) {
|
||||||
|
type = "number"
|
||||||
|
schema.type = "number"
|
||||||
} else if(!usePlainValue && !schema.enum){
|
} else if(!usePlainValue && !schema.enum){
|
||||||
return
|
// implicit cover schemaHasAny(stringContracts) or A schema without a type matches any data type is:
|
||||||
|
// components:
|
||||||
|
// schemas:
|
||||||
|
// AnyValue:
|
||||||
|
// anyOf:
|
||||||
|
// - type: string
|
||||||
|
// - type: number
|
||||||
|
// - type: integer
|
||||||
|
// - type: boolean
|
||||||
|
// - type: array
|
||||||
|
// items: {}
|
||||||
|
// - type: object
|
||||||
|
//
|
||||||
|
// which would resolve to type: string
|
||||||
|
type = "string"
|
||||||
|
schema.type = "string"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleMinMaxItems = (sampleArray) => {
|
const handleMinMaxItems = (sampleArray) => {
|
||||||
if (schema.maxItems !== null && schema.maxItems !== undefined) {
|
if (schema?.maxItems !== null && schema?.maxItems !== undefined) {
|
||||||
sampleArray = sampleArray.slice(0, schema.maxItems)
|
sampleArray = sampleArray.slice(0, schema?.maxItems)
|
||||||
}
|
}
|
||||||
if (schema.minItems !== null && schema.minItems !== undefined) {
|
if (schema?.minItems !== null && schema?.minItems !== undefined) {
|
||||||
let i = 0
|
let i = 0
|
||||||
while (sampleArray.length < schema.minItems) {
|
while (sampleArray.length < schema?.minItems) {
|
||||||
sampleArray.push(sampleArray[i++ % sampleArray.length])
|
sampleArray.push(sampleArray[i++ % sampleArray.length])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -477,7 +502,7 @@ export const sampleFromSchemaGeneric = (schema, config={}, exampleOverride = und
|
|||||||
if(type === "array") {
|
if(type === "array") {
|
||||||
let sampleArray
|
let sampleArray
|
||||||
if(respectXML) {
|
if(respectXML) {
|
||||||
items.xml = items.xml || schema.xml || {}
|
items.xml = items.xml || schema?.xml || {}
|
||||||
items.xml.name = items.xml.name || xml.name
|
items.xml.name = items.xml.name || xml.name
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -314,7 +314,7 @@ describe("OpenAPI 3.0 Multiple Examples - core features", () => {
|
|||||||
.get(".json-schema-form-item-add")
|
.get(".json-schema-form-item-add")
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item:last-of-type > input")
|
.get(".json-schema-form-item:last-of-type > input")
|
||||||
.type("5")
|
.type("{selectall}5")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then((inputs) => {
|
.then((inputs) => {
|
||||||
@@ -345,7 +345,7 @@ describe("OpenAPI 3.0 Multiple Examples - core features", () => {
|
|||||||
.get(".json-schema-form-item-add")
|
.get(".json-schema-form-item-add")
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item:last-of-type > input")
|
.get(".json-schema-form-item:last-of-type > input")
|
||||||
.type("5")
|
.type("{selectall}5")
|
||||||
// Reset to an example
|
// Reset to an example
|
||||||
.get(".parameters-col_description .examples-select > select")
|
.get(".parameters-col_description .examples-select > select")
|
||||||
.select("ArrayExampleB")
|
.select("ArrayExampleB")
|
||||||
|
|||||||
@@ -6,36 +6,28 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
describe("incomplete API definition with missing schema key or schema value(s)", () => {
|
describe("incomplete API definition with missing schema key or schema value(s)", () => {
|
||||||
describe("parameter exists as global", () => {
|
describe("parameter exists as global", () => {
|
||||||
it("should render when parameter exists as global, but missing schema key", () => {
|
it("should render when parameter exists as global, but missing schema key", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
||||||
"/?url=/documents/features/schema-form-missing-values.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-get_case_one_no_schema")
|
.get("#operations-default-get_case_one_no_schema")
|
||||||
.click()
|
.click()
|
||||||
.get(".opblock-description .renderedMarkdown p")
|
.get(".opblock-description .renderedMarkdown p")
|
||||||
.should("have.text", "sf")
|
.should("have.text", "sf")
|
||||||
})
|
})
|
||||||
it("should render when parameter exists as global, but missing all schema values", () => {
|
it("should render when parameter exists as global, but missing all schema values", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
||||||
"/?url=/documents/features/schema-form-missing-values.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-get_case_one_no_type_or_format")
|
.get("#operations-default-get_case_one_no_type_or_format")
|
||||||
.click()
|
.click()
|
||||||
.get(".opblock-description .renderedMarkdown p")
|
.get(".opblock-description .renderedMarkdown p")
|
||||||
.should("have.text", "sf")
|
.should("have.text", "sf")
|
||||||
})
|
})
|
||||||
it("should render when parameter exists as global, schema key exists, but missing schema values: format", () => {
|
it("should render when parameter exists as global, schema key exists, but missing schema values: format", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
||||||
"/?url=/documents/features/schema-form-missing-values.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-get_case_one_format_only_no_type")
|
.get("#operations-default-get_case_one_format_only_no_type")
|
||||||
.click()
|
.click()
|
||||||
.get(".opblock-description .renderedMarkdown p")
|
.get(".opblock-description .renderedMarkdown p")
|
||||||
.should("have.text", "sf")
|
.should("have.text", "sf")
|
||||||
})
|
})
|
||||||
it("should render when parameter exists as global, schema key exists, but missing schema value: type", () => {
|
it("should render when parameter exists as global, schema key exists, but missing schema value: type", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
||||||
"/?url=/documents/features/schema-form-missing-values.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-get_case_one_type_only_no_format")
|
.get("#operations-default-get_case_one_type_only_no_format")
|
||||||
.click()
|
.click()
|
||||||
.get(".opblock-description .renderedMarkdown p")
|
.get(".opblock-description .renderedMarkdown p")
|
||||||
@@ -44,36 +36,28 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
})
|
})
|
||||||
describe("parameter exists in method", () => {
|
describe("parameter exists in method", () => {
|
||||||
it("should render when parameter exists in method, but missing schema key", () => {
|
it("should render when parameter exists in method, but missing schema key", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
||||||
"/?url=/documents/features/schema-form-missing-values.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-get_case_two_no_schema")
|
.get("#operations-default-get_case_two_no_schema")
|
||||||
.click()
|
.click()
|
||||||
.get(".opblock-description .renderedMarkdown p")
|
.get(".opblock-description .renderedMarkdown p")
|
||||||
.should("have.text", "sf")
|
.should("have.text", "sf")
|
||||||
})
|
})
|
||||||
it("should render when parameter exists in method, schema key exists, but missing all schema values", () => {
|
it("should render when parameter exists in method, schema key exists, but missing all schema values", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
||||||
"/?url=/documents/features/schema-form-missing-values.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-get_case_two_no_type_or_format")
|
.get("#operations-default-get_case_two_no_type_or_format")
|
||||||
.click()
|
.click()
|
||||||
.get(".opblock-description .renderedMarkdown p")
|
.get(".opblock-description .renderedMarkdown p")
|
||||||
.should("have.text", "sf")
|
.should("have.text", "sf")
|
||||||
})
|
})
|
||||||
it("should render when parameter exists in method, schema key exists, but missing schema value: format", () => {
|
it("should render when parameter exists in method, schema key exists, but missing schema value: format", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
||||||
"/?url=/documents/features/schema-form-missing-values.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-get_case_one_type_only_no_format")
|
.get("#operations-default-get_case_one_type_only_no_format")
|
||||||
.click()
|
.click()
|
||||||
.get(".opblock-description .renderedMarkdown p")
|
.get(".opblock-description .renderedMarkdown p")
|
||||||
.should("have.text", "sf")
|
.should("have.text", "sf")
|
||||||
})
|
})
|
||||||
it("should render when parameter exists in method, schema key exists, but missing schema value: type", () => {
|
it("should render when parameter exists in method, schema key exists, but missing schema value: type", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
||||||
"/?url=/documents/features/schema-form-missing-values.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-get_case_one_format_only_no_type")
|
.get("#operations-default-get_case_one_format_only_no_type")
|
||||||
.click()
|
.click()
|
||||||
.get(".opblock-description .renderedMarkdown p")
|
.get(".opblock-description .renderedMarkdown p")
|
||||||
@@ -98,10 +82,10 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.get(".json-schema-form-item-add")
|
.get(".json-schema-form-item-add")
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item:last-of-type > input")
|
.get(".json-schema-form-item:last-of-type > input")
|
||||||
.type("5")
|
.type("{selectall}5")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"1",
|
"1",
|
||||||
"2",
|
"2",
|
||||||
@@ -129,10 +113,10 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.get(".json-schema-form-item-add")
|
.get(".json-schema-form-item-add")
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item:last-of-type > input")
|
.get(".json-schema-form-item:last-of-type > input")
|
||||||
.type("5")
|
.type("{selectall}5")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"1",
|
"1",
|
||||||
"2",
|
"2",
|
||||||
@@ -145,10 +129,12 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.find(":selected")
|
.find(":selected")
|
||||||
.should("have.text", "[Modified value]")
|
.should("have.text", "[Modified value]")
|
||||||
// Remove the last item that was just added
|
// Remove the last item that was just added
|
||||||
.get(".json-schema-form-item:last-of-type > .json-schema-form-item-remove")
|
.get(
|
||||||
|
".json-schema-form-item:last-of-type > .json-schema-form-item-remove"
|
||||||
|
)
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"1",
|
"1",
|
||||||
"2",
|
"2",
|
||||||
@@ -172,10 +158,10 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.get(".json-schema-form-item-add")
|
.get(".json-schema-form-item-add")
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item:last-of-type > input")
|
.get(".json-schema-form-item:last-of-type > input")
|
||||||
.type("5")
|
.type("{selectall}5")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"1",
|
"1",
|
||||||
"2",
|
"2",
|
||||||
@@ -188,15 +174,17 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.find(":selected")
|
.find(":selected")
|
||||||
.should("have.text", "[Modified value]")
|
.should("have.text", "[Modified value]")
|
||||||
// Remove the second item in list
|
// Remove the second item in list
|
||||||
.get(".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove")
|
.get(
|
||||||
|
".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove"
|
||||||
|
)
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"1",
|
"1",
|
||||||
"3",
|
"3",
|
||||||
"4",
|
"4",
|
||||||
"5"
|
"5",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@@ -244,9 +232,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
describe("Petstore", () => {
|
describe("Petstore", () => {
|
||||||
describe("/pet/findByStatus", () => {
|
describe("/pet/findByStatus", () => {
|
||||||
it("should render the operation, execute with default value", () => {
|
it("should render the operation, execute with default value", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-findPetsByStatus")
|
.get("#operations-default-findPetsByStatus")
|
||||||
.click()
|
.click()
|
||||||
// Expand operation
|
// Expand operation
|
||||||
@@ -266,9 +252,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "available")
|
.should("contain.text", "available")
|
||||||
})
|
})
|
||||||
it("should render the operation, modify value, and execute with modfied value", () => {
|
it("should render the operation, modify value, and execute with modfied value", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-default-findPetsByStatus")
|
.get("#operations-default-findPetsByStatus")
|
||||||
.click()
|
.click()
|
||||||
// Expand operation
|
// Expand operation
|
||||||
@@ -286,16 +270,14 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
// Expect new element to be visible after Execute
|
// Expect new element to be visible after Execute
|
||||||
.get(".btn-clear.opblock-control__btn")
|
.get(".btn-clear.opblock-control__btn")
|
||||||
.should("have.text", "Clear")
|
.should("have.text", "Clear")
|
||||||
// Compare Request URL
|
// Compare Request URL
|
||||||
.get(".request-url pre.microlight")
|
.get(".request-url pre.microlight")
|
||||||
.should("contain.text", "pending")
|
.should("contain.text", "pending")
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
describe("/pet/findByTags", () => {
|
describe("/pet/findByTags", () => {
|
||||||
it("should allow modification of values in Try-It-Out", () => {
|
it("should allow modification of values in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-pet-findPetsByTags")
|
.get("#operations-pet-findPetsByTags")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -308,16 +290,14 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}spotted")
|
.type("{selectall}spotted")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
it("should allow removal of added value in Try-It-Out", () => {
|
it("should allow removal of added value in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-pet-findPetsByTags")
|
.get("#operations-pet-findPetsByTags")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -330,21 +310,21 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}spotted")
|
.type("{selectall}spotted")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
// Remove the last item that was just added
|
// Remove the last item that was just added
|
||||||
.get(".json-schema-form-item:last-of-type > .json-schema-form-item-remove")
|
.get(
|
||||||
|
".json-schema-form-item:last-of-type > .json-schema-form-item-remove"
|
||||||
|
)
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.should("not.exist")
|
.should("not.exist")
|
||||||
})
|
})
|
||||||
it("should allow removal of nth of values in Try-It-Out", () => {
|
it("should allow removal of nth of values in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-pet-findPetsByTags")
|
.get("#operations-pet-findPetsByTags")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -357,7 +337,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}spotted")
|
.type("{selectall}spotted")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
])
|
])
|
||||||
@@ -369,10 +349,10 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}large")
|
.type("{selectall}large")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
"large"
|
"large",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
// Add a 3rd new item
|
// Add a 3rd new item
|
||||||
@@ -382,28 +362,28 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}puppy")
|
.type("{selectall}puppy")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
"large",
|
"large",
|
||||||
"puppy"
|
"puppy",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
// Remove the second item in list
|
// Remove the second item in list
|
||||||
.get(".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove")
|
.get(
|
||||||
|
".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove"
|
||||||
|
)
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
"puppy"
|
"puppy",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
it("should allow execution of operation without modifications in Try-It-Out (debounce)", () => {
|
it("should allow execution of operation without modifications in Try-It-Out (debounce)", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-pet-findPetsByTags")
|
.get("#operations-pet-findPetsByTags")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -420,9 +400,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "findByTags")
|
.should("contain.text", "findByTags")
|
||||||
})
|
})
|
||||||
it("should add empty item and allow execution of operation in Try-It-Out (debounce)", () => {
|
it("should add empty item and allow execution of operation in Try-It-Out (debounce)", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-pet-findPetsByTags")
|
.get("#operations-pet-findPetsByTags")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -442,9 +420,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "findByTags")
|
.should("contain.text", "findByTags")
|
||||||
})
|
})
|
||||||
it("should add modified item and allow execution of operation in Try-It-Out", () => {
|
it("should add modified item and allow execution of operation in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-pet-findPetsByTags")
|
.get("#operations-pet-findPetsByTags")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -457,7 +433,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}spotted")
|
.type("{selectall}spotted")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
])
|
])
|
||||||
@@ -473,9 +449,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "spotted")
|
.should("contain.text", "spotted")
|
||||||
})
|
})
|
||||||
it("should add 3 modified items, remove the middle child, and allow execution of operation Try-It-Out", () => {
|
it("should add 3 modified items, remove the middle child, and allow execution of operation Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-pet-findPetsByTags")
|
.get("#operations-pet-findPetsByTags")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -488,7 +462,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}spotted")
|
.type("{selectall}spotted")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
])
|
])
|
||||||
@@ -500,10 +474,10 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}large")
|
.type("{selectall}large")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
"large"
|
"large",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
// Add a 3rd new item
|
// Add a 3rd new item
|
||||||
@@ -513,21 +487,23 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.type("{selectall}puppy")
|
.type("{selectall}puppy")
|
||||||
// Assert against the input fields
|
// Assert against the input fields
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
"large",
|
"large",
|
||||||
"puppy"
|
"puppy",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
// Remove the second item in list
|
// Remove the second item in list
|
||||||
.get(".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove")
|
.get(
|
||||||
|
".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove"
|
||||||
|
)
|
||||||
.click()
|
.click()
|
||||||
.get(".json-schema-form-item > input")
|
.get(".json-schema-form-item > input")
|
||||||
.then(inputs => {
|
.then((inputs) => {
|
||||||
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
||||||
"spotted",
|
"spotted",
|
||||||
"puppy"
|
"puppy",
|
||||||
])
|
])
|
||||||
})
|
})
|
||||||
// Execute
|
// Execute
|
||||||
@@ -545,9 +521,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
describe("/petOwner/{petOwnerId}", () => {
|
describe("/petOwner/{petOwnerId}", () => {
|
||||||
// This is a (GET) debounce test for schema type: string
|
// This is a (GET) debounce test for schema type: string
|
||||||
it("should render the operation, and allow execute of operation with empty value (debounce)", () => {
|
it("should render the operation, and allow execute of operation with empty value (debounce)", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-getPetOwnerById")
|
.get("#operations-petOwner-getPetOwnerById")
|
||||||
.click()
|
.click()
|
||||||
// Expand operation
|
// Expand operation
|
||||||
@@ -567,9 +541,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "petOwner")
|
.should("contain.text", "petOwner")
|
||||||
})
|
})
|
||||||
it("should render the operation, and input field, and allow execute of operation", () => {
|
it("should render the operation, and input field, and allow execute of operation", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-getPetOwnerById")
|
.get("#operations-petOwner-getPetOwnerById")
|
||||||
.click()
|
.click()
|
||||||
// Expand operation
|
// Expand operation
|
||||||
@@ -594,9 +566,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
})
|
})
|
||||||
describe("/petOwner/listOfServiceTrainer", () => {
|
describe("/petOwner/listOfServiceTrainer", () => {
|
||||||
it("should allow execution of operation with value=true in Try-It-Out", () => {
|
it("should allow execution of operation with value=true in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-listOfServiceTrainer")
|
.get("#operations-petOwner-listOfServiceTrainer")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -618,9 +588,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "tags=true")
|
.should("contain.text", "tags=true")
|
||||||
})
|
})
|
||||||
it("should allow execution of operation with value=false in Try-It-Out", () => {
|
it("should allow execution of operation with value=false in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-listOfServiceTrainer")
|
.get("#operations-petOwner-listOfServiceTrainer")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -642,9 +610,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "tags=false")
|
.should("contain.text", "tags=false")
|
||||||
})
|
})
|
||||||
it("should allow execution of operation with value=true&value=false in Try-It-Out", () => {
|
it("should allow execution of operation with value=true&value=false in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-listOfServiceTrainer")
|
.get("#operations-petOwner-listOfServiceTrainer")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -671,9 +637,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "tags=true&tags=false")
|
.should("contain.text", "tags=true&tags=false")
|
||||||
})
|
})
|
||||||
it("should allow execution of operation with value=false after removing value=true in Try-It-Out", () => {
|
it("should allow execution of operation with value=false after removing value=true in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-listOfServiceTrainer")
|
.get("#operations-petOwner-listOfServiceTrainer")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -690,7 +654,9 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.get(".json-schema-form-item:last-of-type > select")
|
.get(".json-schema-form-item:last-of-type > select")
|
||||||
.select("false")
|
.select("false")
|
||||||
// remove 1st item
|
// remove 1st item
|
||||||
.get(".json-schema-form-item:nth-child(1) > .json-schema-form-item-remove")
|
.get(
|
||||||
|
".json-schema-form-item:nth-child(1) > .json-schema-form-item-remove"
|
||||||
|
)
|
||||||
.click()
|
.click()
|
||||||
// Execute
|
// Execute
|
||||||
.get(".execute.opblock-control__btn")
|
.get(".execute.opblock-control__btn")
|
||||||
@@ -703,9 +669,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "tags=false")
|
.should("contain.text", "tags=false")
|
||||||
})
|
})
|
||||||
it("should allow execution of operation with value=(empty) in Try-It-Out", () => {
|
it("should allow execution of operation with value=(empty) in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-listOfServiceTrainer")
|
.get("#operations-petOwner-listOfServiceTrainer")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -724,9 +688,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
})
|
})
|
||||||
describe("/petOwner/findByPreference", () => {
|
describe("/petOwner/findByPreference", () => {
|
||||||
it("should allow execution of operation with value=(empty) in Try-It-Out", () => {
|
it("should allow execution of operation with value=(empty) in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-findByPreference")
|
.get("#operations-petOwner-findByPreference")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -743,9 +705,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "findByPreference")
|
.should("contain.text", "findByPreference")
|
||||||
})
|
})
|
||||||
it("should allow execution of operation with selected value in Try-It-Out", () => {
|
it("should allow execution of operation with selected value in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-findByPreference")
|
.get("#operations-petOwner-findByPreference")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -766,9 +726,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "dog")
|
.should("contain.text", "dog")
|
||||||
})
|
})
|
||||||
it("should allow execution of operation with multiple selected values in Try-It-Out", () => {
|
it("should allow execution of operation with multiple selected values in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-findByPreference")
|
.get("#operations-petOwner-findByPreference")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -792,9 +750,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
})
|
})
|
||||||
describe("/petOwner/createWithList", () => {
|
describe("/petOwner/createWithList", () => {
|
||||||
it("should allow execution of operation with default text in textArea in Try-It-Out", () => {
|
it("should allow execution of operation with default text in textArea in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-petOwnerCreateWithList")
|
.get("#operations-petOwner-petOwnerCreateWithList")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -811,9 +767,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "createWithList")
|
.should("contain.text", "createWithList")
|
||||||
})
|
})
|
||||||
it("should allow execution of operation with cleared textArea in Try-It-Out", () => {
|
it("should allow execution of operation with cleared textArea in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-petOwnerCreateWithList")
|
.get("#operations-petOwner-petOwnerCreateWithList")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -832,9 +786,7 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.should("contain.text", "createWithList")
|
.should("contain.text", "createWithList")
|
||||||
})
|
})
|
||||||
it("should allow execution of operation with modified textArea in Try-It-Out", () => {
|
it("should allow execution of operation with modified textArea in Try-It-Out", () => {
|
||||||
cy.visit(
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
||||||
"/?url=/documents/features/schema-form-core.yaml"
|
|
||||||
)
|
|
||||||
.get("#operations-petOwner-petOwnerCreateWithList")
|
.get("#operations-petOwner-petOwnerCreateWithList")
|
||||||
.click()
|
.click()
|
||||||
// Expand Try It Out
|
// Expand Try It Out
|
||||||
@@ -843,7 +795,8 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
.get(".body-param__text")
|
.get(".body-param__text")
|
||||||
.clear()
|
.clear()
|
||||||
// note: adding this much type adds 6+ seconds to test
|
// note: adding this much type adds 6+ seconds to test
|
||||||
.type(`[
|
.type(
|
||||||
|
`[
|
||||||
{
|
{
|
||||||
"id": 10,
|
"id": 10,
|
||||||
"petId": 201,
|
"petId": 201,
|
||||||
@@ -875,5 +828,3 @@ describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user