This update required changing the configuration and test directory structure. Some tests needed to be amended as well to compensate for new Cypress APIs.
112 lines
3.5 KiB
JavaScript
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")
|
|
})
|
|
})
|