describe('Login flow', () => { beforeEach(() => { cy.visit('/login'); }); it('toont de loginpagina correct', () => { cy.get('h2').should('contain', 'Welkom terug'); cy.get('#email').should('be.visible'); cy.get('#password').should('be.visible'); cy.get('button[type="submit"]').should('contain', 'Inloggen'); }); it('toont foutmelding bij verkeerde inloggegevens', () => { cy.get('#email').type('verkeerd@email.nl'); cy.get('#password').type('foutWachtwoord123'); cy.get('button[type="submit"]').click(); cy.contains('onjuist').should('be.visible'); }); it('demo login knop is zichtbaar en werkt', () => { cy.contains('Demo Account Proberen').should('be.visible').click(); cy.url().should('match', /\/epd\//); }); it('redirect naar EPD na succesvol inloggen', () => { cy.get('#email').type(Cypress.env('TEST_EMAIL') ?? 'demo@mini-ecd.demo'); cy.get('#password').type(Cypress.env('TEST_PASSWORD') ?? 'Demo2024!'); cy.get('button[type="submit"]').click(); cy.url().should('match', /\/epd\//); }); it('beveiligde route stuurt door naar login', () => { cy.visit('/epd/agenda'); cy.url().should('include', '/login'); }); });