123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- /**
- * @prettier
- */
- describe("JSON Schema Form: Enum & Boolean in a Parameter", () => {
- beforeEach(() => {
- cy.visit(
- "/?url=/documents/features/schema-form-enum-boolean.yaml"
- )
- .get("#operations-pet-findPetsByStatus")
- .click()
- // Expand Try It Out
- .get(".try-out__btn")
- .click()
- // @alias Execute Button
- cy.get(".execute.opblock-control__btn").as("executeBtn")
- // @alias Parameters
- cy.get(".opblock-section tbody > tr > .parameters-col_description > select")
- .eq(0)
- .as("enumIsRequired")
- cy.get(".opblock-section tbody > tr > .parameters-col_description > select")
- .eq(1)
- .as("booleanIsOptional")
- cy.get(".opblock-section tbody > tr > .parameters-col_description > select")
- .eq(2)
- .as("booleanIsRequired")
- })
- it("should render @enumIsRequired with list of three options", () => {
- cy.get("@enumIsRequired")
- .should("contains.text", "available")
- .should("contains.text", "pending")
- .should("contains.text", "sold")
- .should("not.contains.text", "--")
- .find("option")
- .should("have.length", 3)
- })
- it("should render @booleanIsOptional with default empty string value (display '--')", () => {
- cy.get("@booleanIsOptional")
- .should("have.value", "")
- .should("contains.text", "--")
- })
- it("should render @booleanIsRequired with default empty string value (display '--')", () => {
- cy.get("@booleanIsRequired")
- .should("have.value", "")
- .should("contains.text", "--")
- })
- it("should NOT be able to execute with empty @enumIsRequired and @booleanIsRequired values", () => {
- // Execute
- cy.get("@executeBtn")
- .click()
- cy.get("@enumIsRequired")
- .should("have.class", "invalid")
- cy.get("@booleanIsRequired")
- .should("have.class", "invalid")
- // cURL component
- cy.get(".responses-wrapper .curl-command")
- .should("not.exist")
- })
- it("should NOT be able to execute with empty @booleanIsRequired value, but valid @enumIsRequired", () => {
- cy.get("@enumIsRequired")
- .select("pending")
- // Execute
- cy.get("@executeBtn")
- .click()
- cy.get("@enumIsRequired")
- .should("not.have.class", "invalid")
- cy.get("@booleanIsRequired")
- .should("have.class", "invalid")
- // cURL component
- cy.get(".responses-wrapper .curl-command")
- .should("not.exist")
- })
- it("should NOT be able to execute with empty @enumIsRequired value, but valid @booleanIsRequired", () => {
- cy.get("@booleanIsRequired")
- .select("false")
- // Execute
- cy.get("@executeBtn")
- .click()
- cy.get("@enumIsRequired")
- .should("have.class", "invalid")
- cy.get("@booleanIsRequired")
- .should("not.have.class", "invalid")
- // cURL component
- cy.get(".responses-wrapper .curl-command")
- .should("not.exist")
- })
- it("should execute, if @booleanIsOptional value is 'false'", () => {
- cy.get("@enumIsRequired")
- .select("pending")
- cy.get("@booleanIsRequired")
- .select("false")
- cy.get("@booleanIsOptional")
- .select("false")
- // Execute
- cy.get("@executeBtn")
- .click()
- cy.get("@enumIsRequired")
- .should("not.have.class", "invalid")
- cy.get("@booleanIsRequired")
- .should("not.have.class", "invalid")
- .should("not.contains.text", "expectIsOptional")
- // cURL component
- cy.get(".responses-wrapper .curl-command")
- .should("exist")
- .get(".responses-wrapper .curl-command span")
- .should("contains.text", "expectIsOptional=false")
- })
- it("should execute, but NOT send @booleanIsOptional value if not provided", () => {
- cy.get("@enumIsRequired")
- .select("pending")
- cy.get("@booleanIsRequired")
- .select("false")
- // Execute
- cy.get("@executeBtn")
- .click()
- cy.get("@enumIsRequired")
- .should("not.have.class", "invalid")
- cy.get("@booleanIsRequired")
- .should("not.have.class", "invalid")
- .should("not.contains.text", "expectIsOptional")
- // cURL component
- cy.get(".responses-wrapper .curl-command")
- .should("exist")
- .get(".responses-wrapper .curl-command span")
- .should("not.contains.text", "expectIsOptional")
- })
- })
|