50 lines
1.8 KiB
TypeScript
50 lines
1.8 KiB
TypeScript
describe("Header", () => {
|
|
beforeEach(() => cy.visit("/"))
|
|
|
|
describe("Switch theme color (dark/light)", () => {
|
|
it("should switch theme from `dark` (default) to `light`", () => {
|
|
cy.get("[data-cy=switch-theme-dark]").should("be.visible")
|
|
cy.get("[data-cy=switch-theme-light]").should("not.be.visible")
|
|
cy.get("body").should(
|
|
"not.have.css",
|
|
"background-color",
|
|
"rgb(255, 255, 255)",
|
|
)
|
|
|
|
cy.get("[data-cy=switch-theme-click]").click()
|
|
|
|
cy.get("[data-cy=switch-theme-dark]").should("not.be.visible")
|
|
cy.get("[data-cy=switch-theme-light]").should("be.visible")
|
|
cy.get("body").should(
|
|
"have.css",
|
|
"background-color",
|
|
"rgb(255, 255, 255)",
|
|
)
|
|
})
|
|
})
|
|
|
|
describe("Switch Language", () => {
|
|
it("should switch language from EN (default) to FR", () => {
|
|
cy.get("[data-cy=main-description]").contains("This is an example")
|
|
cy.get("[data-cy=language-flag-text]").contains("EN")
|
|
cy.get("[data-cy=languages-list]").should("not.be.visible")
|
|
cy.get("[data-cy=language-click]").click()
|
|
cy.get("[data-cy=languages-list]").should("be.visible")
|
|
cy.get("[data-cy=languages-list] > li:first-child").contains("FR").click()
|
|
cy.get("[data-cy=languages-list]").should("not.be.visible")
|
|
cy.get("[data-cy=language-flag-text]").contains("FR")
|
|
cy.get("[data-cy=main-description]").contains("Ceci est un exemple")
|
|
})
|
|
|
|
it("should close the language list menu when clicking outside", () => {
|
|
cy.get("[data-cy=languages-list]").should("not.be.visible")
|
|
cy.get("[data-cy=language-click]").click()
|
|
cy.get("[data-cy=languages-list]").should("be.visible")
|
|
cy.get("[data-cy=main-description]").click()
|
|
cy.get("[data-cy=languages-list]").should("not.be.visible")
|
|
})
|
|
})
|
|
})
|
|
|
|
export {}
|