1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2024-11-05 13:01:30 +01:00
.profile/cypress/e2e/common/Header.cy.ts

63 lines
2.1 KiB
TypeScript
Raw Normal View History

2021-08-13 15:48:29 +02:00
describe('Common > Header', () => {
2022-09-04 20:40:58 +02:00
beforeEach(() => {
return cy.visit('/')
})
2021-08-13 15:48:29 +02:00
2021-11-08 15:10:26 +01:00
it('should redirect to /blog on click of the blog link', () => {
cy.get('[data-cy=header-blog-link]')
.click()
.location('pathname')
.should('eq', '/blog')
})
it('should always be visible (sticky header)', () => {
cy.scrollTo('bottom').get('header').should('be.visible')
})
2021-08-13 15:48:29 +02:00
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('h1').contains('Théo LUDWIG')
2021-08-13 15:48:29 +02:00
cy.get('[data-cy=language-flag-text]').contains('EN')
2021-08-23 19:48:15 +02:00
cy.get('[data-cy=languages-list]').should('not.be.visible')
2021-08-13 15:48:29 +02:00
cy.get('[data-cy=language-click]').click()
2021-08-23 19:48:15 +02:00
cy.get('[data-cy=languages-list]').should('be.visible')
2021-08-13 15:48:29 +02:00
cy.get('[data-cy=languages-list] > li:first-child').contains('FR').click()
2021-08-23 19:48:15 +02:00
cy.get('[data-cy=languages-list]').should('not.be.visible')
2021-08-13 15:48:29 +02:00
cy.get('[data-cy=language-flag-text]').contains('FR')
cy.get('h1').contains('Théo LUDWIG')
2021-08-13 15:48:29 +02:00
})
it('should close the language list menu when clicking outside', () => {
2021-08-23 19:48:15 +02:00
cy.get('[data-cy=languages-list]').should('not.be.visible')
2021-08-13 15:48:29 +02:00
cy.get('[data-cy=language-click]').click()
2021-08-23 19:48:15 +02:00
cy.get('[data-cy=languages-list]').should('be.visible')
2021-08-13 15:48:29 +02:00
cy.get('h1').click()
2021-08-23 19:48:15 +02:00
cy.get('[data-cy=languages-list]').should('not.be.visible')
2021-08-13 15:48:29 +02:00
})
})
})
export {}