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

65 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', () => {
2023-08-01 18:18:16 +02:00
it('should switch locale from English (default) to French', () => {
cy.get('h1').contains('Théo LUDWIG')
2023-08-01 18:18:16 +02:00
cy.get('[data-cy=locale-flag-text]').contains('English')
cy.get('[data-cy=locales-list]').should('not.be.visible')
cy.get('[data-cy=locale-click]').click()
cy.get('[data-cy=locales-list]').should('be.visible')
2023-08-01 18:18:16 +02:00
cy.get('[data-cy=locales-list] > li:first-child')
.contains('French')
.click()
cy.get('[data-cy=locales-list]').should('not.be.visible')
2023-08-01 18:18:16 +02:00
cy.get('[data-cy=locale-flag-text]').contains('French')
cy.get('h1').contains('Théo LUDWIG')
2021-08-13 15:48:29 +02:00
})
it('should close the locale list menu when clicking outside', () => {
cy.get('[data-cy=locales-list]').should('not.be.visible')
cy.get('[data-cy=locale-click]').click()
cy.get('[data-cy=locales-list]').should('be.visible')
2021-08-13 15:48:29 +02:00
cy.get('h1').click()
cy.get('[data-cy=locales-list]').should('not.be.visible')
2021-08-13 15:48:29 +02:00
})
})
})
export {}