This update required changing the configuration and test directory structure. Some tests needed to be amended as well to compensate for new Cypress APIs.
836 lines
31 KiB
JavaScript
836 lines
31 KiB
JavaScript
/**
|
|
* @prettier
|
|
*/
|
|
|
|
describe("OpenAPI 3.0 Additional JsonSchemaForm in a Parameter", () => {
|
|
describe("incomplete API definition with missing schema key or schema value(s)", () => {
|
|
describe("parameter exists as global", () => {
|
|
it("should render when parameter exists as global, but missing schema key", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
|
.get("#operations-default-get_case_one_no_schema")
|
|
.click()
|
|
.get(".opblock-description .renderedMarkdown p")
|
|
.should("have.text", "sf")
|
|
})
|
|
it("should render when parameter exists as global, but missing all schema values", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
|
.get("#operations-default-get_case_one_no_type_or_format")
|
|
.click()
|
|
.get(".opblock-description .renderedMarkdown p")
|
|
.should("have.text", "sf")
|
|
})
|
|
it("should render when parameter exists as global, schema key exists, but missing schema values: format", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
|
.get("#operations-default-get_case_one_format_only_no_type")
|
|
.click()
|
|
.get(".opblock-description .renderedMarkdown p")
|
|
.should("have.text", "sf")
|
|
})
|
|
it("should render when parameter exists as global, schema key exists, but missing schema value: type", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
|
.get("#operations-default-get_case_one_type_only_no_format")
|
|
.click()
|
|
.get(".opblock-description .renderedMarkdown p")
|
|
.should("have.text", "sf")
|
|
})
|
|
})
|
|
describe("parameter exists in method", () => {
|
|
it("should render when parameter exists in method, but missing schema key", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
|
.get("#operations-default-get_case_two_no_schema")
|
|
.click()
|
|
.get(".opblock-description .renderedMarkdown p")
|
|
.should("have.text", "sf")
|
|
})
|
|
it("should render when parameter exists in method, schema key exists, but missing all schema values", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
|
.get("#operations-default-get_case_two_no_type_or_format")
|
|
.click()
|
|
.get(".opblock-description .renderedMarkdown p")
|
|
.should("have.text", "sf")
|
|
})
|
|
it("should render when parameter exists in method, schema key exists, but missing schema value: format", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
|
.get("#operations-default-get_case_one_type_only_no_format")
|
|
.click()
|
|
.get(".opblock-description .renderedMarkdown p")
|
|
.should("have.text", "sf")
|
|
})
|
|
it("should render when parameter exists in method, schema key exists, but missing schema value: type", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-missing-values.yaml")
|
|
.get("#operations-default-get_case_one_format_only_no_type")
|
|
.click()
|
|
.get(".opblock-description .renderedMarkdown p")
|
|
.should("have.text", "sf")
|
|
})
|
|
})
|
|
})
|
|
describe("/Array", () => {
|
|
describe("in a Parameter", () => {
|
|
it("should allow modification of values in Try-It-Out", () => {
|
|
cy.visit(
|
|
"/?url=/documents/features/multiple-examples-core.openapi.yaml"
|
|
)
|
|
.get("#operations-default-post_Array")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
.get(".parameters-col_description .examples-select > select")
|
|
.select("ArrayExampleB")
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}5")
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"1",
|
|
"2",
|
|
"3",
|
|
"4",
|
|
"5",
|
|
])
|
|
})
|
|
.get(".parameters-col_description .examples-select > select")
|
|
.find(":selected")
|
|
.should("have.text", "[Modified value]")
|
|
})
|
|
it("should allow removal of added value in Try-It-Out", () => {
|
|
cy.visit(
|
|
"/?url=/documents/features/multiple-examples-core.openapi.yaml"
|
|
)
|
|
.get("#operations-default-post_Array")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
.get(".parameters-col_description .examples-select > select")
|
|
.select("ArrayExampleB")
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}5")
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"1",
|
|
"2",
|
|
"3",
|
|
"4",
|
|
"5",
|
|
])
|
|
})
|
|
.get(".parameters-col_description .examples-select > select")
|
|
.find(":selected")
|
|
.should("have.text", "[Modified value]")
|
|
// Remove the last item that was just added
|
|
.get(
|
|
".json-schema-form-item:last-of-type > .json-schema-form-item-remove"
|
|
)
|
|
.click()
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"1",
|
|
"2",
|
|
"3",
|
|
"4",
|
|
])
|
|
})
|
|
})
|
|
it("should allow removal of nth of values in Try-It-Out", () => {
|
|
cy.visit(
|
|
"/?url=/documents/features/multiple-examples-core.openapi.yaml"
|
|
)
|
|
.get("#operations-default-post_Array")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
.get(".parameters-col_description .examples-select > select")
|
|
.select("ArrayExampleB")
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}5")
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"1",
|
|
"2",
|
|
"3",
|
|
"4",
|
|
"5",
|
|
])
|
|
})
|
|
.get(".parameters-col_description .examples-select > select")
|
|
.find(":selected")
|
|
.should("have.text", "[Modified value]")
|
|
// Remove the second item in list
|
|
.get(
|
|
".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove"
|
|
)
|
|
.click()
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"1",
|
|
"3",
|
|
"4",
|
|
"5",
|
|
])
|
|
})
|
|
})
|
|
it("should allow execution of operation in Try-It-Out", () => {
|
|
cy.visit(
|
|
"/?url=/documents/features/multiple-examples-core.openapi.yaml"
|
|
)
|
|
.get("#operations-default-post_Array")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
.get(".parameters-col_description .examples-select > select")
|
|
.select("ArrayExampleB")
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
})
|
|
it("should add empty item and allow execution of operation in Try-It-Out", () => {
|
|
cy.visit(
|
|
"/?url=/documents/features/multiple-examples-core.openapi.yaml"
|
|
)
|
|
.get("#operations-default-post_Array")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
.get(".parameters-col_description .examples-select > select")
|
|
.select("ArrayExampleB")
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
// Execute without prior typing a value
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
})
|
|
})
|
|
})
|
|
describe("Petstore", () => {
|
|
describe("/pet/findByStatus", () => {
|
|
it("should render the operation, execute with default value", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-default-findPetsByStatus")
|
|
.click()
|
|
// Expand operation
|
|
.get(".opblock-title span")
|
|
.should("have.text", "Parameters")
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "available")
|
|
})
|
|
it("should render the operation, modify value, and execute with modified value", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-default-findPetsByStatus")
|
|
.click()
|
|
// Expand operation
|
|
.get(".opblock-title span")
|
|
.should("have.text", "Parameters")
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Select
|
|
.get(".parameters-col_description > select")
|
|
.select("pending")
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "pending")
|
|
})
|
|
})
|
|
describe("/pet/findByTags", () => {
|
|
it("should allow modification of values in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-pet-findPetsByTags")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item > input")
|
|
.type("{selectall}spotted")
|
|
.blur()
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
])
|
|
})
|
|
})
|
|
it("should allow removal of added value in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-pet-findPetsByTags")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}spotted")
|
|
.blur()
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
])
|
|
})
|
|
// Remove the last item that was just added
|
|
.get(
|
|
".json-schema-form-item:last-of-type > .json-schema-form-item-remove"
|
|
)
|
|
.click()
|
|
.get(".json-schema-form-item > input")
|
|
.should("not.exist")
|
|
})
|
|
it("should allow removal of nth of values in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-pet-findPetsByTags")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}spotted")
|
|
.blur()
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
])
|
|
})
|
|
// Add a 2nd new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}large")
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
"large",
|
|
])
|
|
})
|
|
// Add a 3rd new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}puppy")
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
"large",
|
|
"puppy",
|
|
])
|
|
})
|
|
// Remove the second item in list
|
|
.get(
|
|
".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove"
|
|
)
|
|
.click()
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
"puppy",
|
|
])
|
|
})
|
|
})
|
|
it("should allow execution of operation without modifications in Try-It-Out (debounce)", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-pet-findPetsByTags")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "findByTags")
|
|
})
|
|
it("should add empty item and allow execution of operation in Try-It-Out (debounce)", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-pet-findPetsByTags")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
// Execute without prior typing a value
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "findByTags")
|
|
})
|
|
it("should add modified item and allow execution of operation in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-pet-findPetsByTags")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item > input")
|
|
.type("{selectall}spotted")
|
|
.blur()
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
])
|
|
})
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "spotted")
|
|
})
|
|
it("should add 3 modified items, remove the middle child, and allow execution of operation Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-pet-findPetsByTags")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Add a new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}spotted")
|
|
.blur()
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
])
|
|
})
|
|
// Add a 2nd new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}large")
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
"large",
|
|
])
|
|
})
|
|
// Add a 3rd new item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > input")
|
|
.type("{selectall}puppy")
|
|
// Assert against the input fields
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
"large",
|
|
"puppy",
|
|
])
|
|
})
|
|
// Remove the second item in list
|
|
.get(
|
|
".json-schema-form-item:nth-child(2) > .json-schema-form-item-remove"
|
|
)
|
|
.click()
|
|
.get(".json-schema-form-item > input")
|
|
.then((inputs) => {
|
|
expect(inputs.map((i, el) => el.value).toArray()).to.deep.equal([
|
|
"spotted",
|
|
"puppy",
|
|
])
|
|
})
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "tags=spotted&tags=puppy")
|
|
.should("not.have.text", "large")
|
|
})
|
|
})
|
|
describe("/petOwner/{petOwnerId}", () => {
|
|
// This is a (GET) debounce test for schema type: string
|
|
it("should render the operation, and allow execute of operation with empty value (debounce)", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-getPetOwnerById")
|
|
.click()
|
|
// Expand operation
|
|
.get(".opblock-title span")
|
|
.should("have.text", "Parameters")
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "petOwner")
|
|
})
|
|
it("should render the operation, and input field, and allow execute of operation", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-getPetOwnerById")
|
|
.click()
|
|
// Expand operation
|
|
.get(".opblock-title span")
|
|
.should("have.text", "Parameters")
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
.get(".parameters-col_description > input")
|
|
.type("123")
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "petOwner")
|
|
.should("contain.text", "123")
|
|
})
|
|
})
|
|
describe("/petOwner/listOfServiceTrainer", () => {
|
|
it("should allow execution of operation with value=true in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-listOfServiceTrainer")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// add 1st item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item > select")
|
|
.select("true")
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "tags=true")
|
|
})
|
|
it("should allow execution of operation with value=false in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-listOfServiceTrainer")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// add 1st item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item > select")
|
|
.select("false")
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "tags=false")
|
|
})
|
|
it("should allow execution of operation with value=true&value=false in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-listOfServiceTrainer")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// add 1st item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item > select")
|
|
.select("true")
|
|
// add 2nd item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > select")
|
|
.select("false")
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "tags=true&tags=false")
|
|
})
|
|
it("should allow execution of operation with value=false after removing value=true in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-listOfServiceTrainer")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// add 1st item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item > select")
|
|
.select("true")
|
|
// add 2nd item
|
|
.get(".json-schema-form-item-add")
|
|
.click()
|
|
.get(".json-schema-form-item:last-of-type > select")
|
|
.select("false")
|
|
// remove 1st item
|
|
.get(
|
|
".json-schema-form-item:nth-child(1) > .json-schema-form-item-remove"
|
|
)
|
|
.click()
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "tags=false")
|
|
})
|
|
it("should allow execution of operation with value=(empty) in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-listOfServiceTrainer")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "listOfServiceTrainer")
|
|
})
|
|
})
|
|
describe("/petOwner/findByPreference", () => {
|
|
it("should allow execution of operation with value=(empty) in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-findByPreference")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "findByPreference")
|
|
})
|
|
it("should allow execution of operation with selected value in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-findByPreference")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Select
|
|
.get(".parameters-col_description > select")
|
|
.select("dog")
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "findByPreference")
|
|
.should("contain.text", "dog")
|
|
})
|
|
it("should allow execution of operation with multiple selected values in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-findByPreference")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Select
|
|
.get(".parameters-col_description > select")
|
|
.select(["dog", "cat"])
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "findByPreference")
|
|
.should("contain.text", "dog")
|
|
.should("contain.text", "cat")
|
|
})
|
|
})
|
|
describe("/petOwner/createWithList", () => {
|
|
it("should allow execution of operation with default text in textArea in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-petOwnerCreateWithList")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "createWithList")
|
|
})
|
|
it("should allow execution of operation with cleared textArea in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-petOwnerCreateWithList")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
.get(".body-param__text")
|
|
.clear()
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "createWithList")
|
|
})
|
|
it("should allow execution of operation with modified textArea in Try-It-Out", () => {
|
|
cy.visit("/?url=/documents/features/schema-form-core.yaml")
|
|
.get("#operations-petOwner-petOwnerCreateWithList")
|
|
.click()
|
|
// Expand Try It Out
|
|
.get(".try-out__btn")
|
|
.click()
|
|
.get(".body-param__text")
|
|
.clear()
|
|
// note: adding this much type adds 6+ seconds to test
|
|
.type(
|
|
`[
|
|
{
|
|
"id": 10,
|
|
"petId": 201,
|
|
"petOwnerFirstName": "John",
|
|
},
|
|
{
|
|
"id": 11,
|
|
"petId": 201,
|
|
"petOwnerFirstName": "Jane",
|
|
}
|
|
]`
|
|
)
|
|
.should("contain.text", "Jane")
|
|
.should("contain.text", "201")
|
|
// Execute
|
|
.get(".execute.opblock-control__btn")
|
|
.click()
|
|
// Expect new element to be visible after Execute
|
|
.get(".btn-clear.opblock-control__btn")
|
|
.should("have.text", "Clear")
|
|
// Compare Request URL
|
|
.get(".request-url pre.microlight")
|
|
.should("contain.text", "createWithList")
|
|
// Compare Curl
|
|
.get(".curl")
|
|
.should("contain.text", "Jane")
|
|
.should("contain.text", "201")
|
|
})
|
|
})
|
|
})
|
|
})
|