mirror of
https://github.com/theoludwig/theoludwig.git
synced 2024-11-05 13:01:30 +01:00
65 lines
2.1 KiB
TypeScript
65 lines
2.1 KiB
TypeScript
describe('Common > Header', () => {
|
|
beforeEach(() => {
|
|
return cy.visit('/')
|
|
})
|
|
|
|
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')
|
|
})
|
|
|
|
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 locale from English (default) to French', () => {
|
|
cy.get('h1').contains('Théo LUDWIG')
|
|
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')
|
|
cy.get('[data-cy=locales-list] > li:first-child')
|
|
.contains('French')
|
|
.click()
|
|
cy.get('[data-cy=locales-list]').should('not.be.visible')
|
|
cy.get('[data-cy=locale-flag-text]').contains('French')
|
|
cy.get('h1').contains('Théo LUDWIG')
|
|
})
|
|
|
|
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')
|
|
cy.get('h1').click()
|
|
cy.get('[data-cy=locales-list]').should('not.be.visible')
|
|
})
|
|
})
|
|
})
|
|
|
|
export {}
|