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');
  });
});
