Files
swagger-ui/test/e2e-cypress/e2e/features/urls.cy.js
Vladimír Gorej 3e81a4f897 chore(deps-dev): update cypress to v12 (#8889)
This update required changing the configuration
and test directory structure. Some tests needed
to be amended as well to compensate for new
Cypress APIs.
2023-06-07 10:25:32 +02:00

112 lines
3.5 KiB
JavaScript

describe("configuration options: `urls` and `urls.primaryName`", () => {
describe("`urls` only", () => {
it("should render a list of URLs correctly", () => {
cy.visit("/?configUrl=/configs/urls.yaml")
.get("select")
.children()
.should("have.length", 2)
.get("select > option")
.eq(0)
.should("have.text", "One")
.should("have.attr", "value", "/documents/features/urls/1.yaml")
.get("select > option")
.eq(1)
.should("have.text", "Two")
.should("have.attr", "value", "/documents/features/urls/2.yaml")
})
it("should render the first URL in the list", () => {
cy.visit("/?configUrl=/configs/urls.yaml")
.get("h2.title")
.should("have.text", "One")
.window()
.then(win => win.ui.specSelectors.url())
.should("equal", "/documents/features/urls/1.yaml")
})
})
it("should respect a `urls.primaryName`", () => {
cy.visit("/?configUrl=/configs/urls-primary-name.yaml")
.get("select")
.should("have.value", "/documents/features/urls/2.yaml")
.get("h2.title")
.should("have.text", "Two")
.window()
.then(win => win.ui.specSelectors.url())
.should("equal", "/documents/features/urls/2.yaml")
})
})
describe("urls with server variables", () => {
it("should compute a url and default server variables", () => {
cy.visit("/?configUrl=/configs/urls-server-variables.yaml")
.get("code")
.should("have.text", "https://localhost:3200/oneFirstUrl")
.get("tr > :nth-child(1)")
.should("have.text", "basePath")
.get("input")
.should("have.value", "/oneFirstUrl")
})
it("should change server variables", () => {
cy.visit("/?configUrl=/configs/urls-server-variables.yaml")
.get("code")
.should("have.text", "https://localhost:3200/oneFirstUrl")
.get("tr > :nth-child(1)")
.should("have.text", "basePath")
.get("input")
.should("have.value", "/oneFirstUrl")
.get(".servers > label > select")
.eq(0)
.select(1)
.get("input")
.should("have.value", "/oneSecondUrl")
})
it("should select and compute second url", () => {
cy.visit("/?configUrl=/configs/urls-server-variables.yaml")
.get("select > option")
.eq(1)
.should("have.text", "Two")
.get("select")
.eq(0)
.select(1)
.get("code")
.should("have.text", "https://localhost:3200/twoFirstUrl")
.get("input")
.should("have.value", "/twoFirstUrl")
})
it("should select second url, then toggle back to first url", () => {
cy.visit("/?configUrl=/configs/urls-server-variables.yaml")
.get("select > option")
.get("select")
.eq(0)
.select(1)
.get("input")
.should("have.value", "/twoFirstUrl")
// toggle url back
.get("select")
.eq(0)
.select(0)
.get("code")
.should("have.text", "https://localhost:3200/oneFirstUrl")
.get("input")
.should("have.value", "/oneFirstUrl")
})
it("should change server variables, then select second url, and maintain server variables index", () => {
cy.visit("/?configUrl=/configs/urls-server-variables.yaml")
.get(".servers > label >select")
.eq(0)
.select(1)
.get("input")
.should("have.value", "/oneSecondUrl")
// change url
.get("select > option")
.get("select")
.eq(0)
.select(1)
.get("input")
.should("have.value", "/twoSecondUrl")
.get("input")
.should("have.value", "/twoSecondUrl")
})
})