831 lines
31 KiB
JavaScript
831 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")
|
|
// 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")
|
|
// 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")
|
|
// 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")
|
|
// 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")
|
|
// 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")
|
|
})
|
|
})
|
|
})
|
|
})
|