6. Testing
6. Testing
Tijdens deze oefeningenreeks schrijf je testen voor de oplossingen van de oefeningen uit les 6.
Je oefent deze les op:
- Het schrijven van end-to-end tests
Doorheen de oefeningen kom je af en toe testen tegen die falen, pas in dat geval de code aan zodat de testen wel slagen.
Voorbereiding
Installeer Cypress en voeg alle commando's toe die we in de les gebruikt hebben.
Authenticatie
Schrijf volgende tests voor het aanmaken van een gebruiker (1 test faalt):
- Een account kan niet aangemaakt worden als het paswoord en bevestiging niet met elkaar overeenkomen.
- Er kunnen geen twee accounts aangemaakt worden met eenzelfde e-mailadres.
Hint
Om de tweede account aan te maken kan je ofwel uitloggen via de UI, of gebruik maken van onderstaande commando's.
cy.clearAllLocalStorage()
cy.reload()- De root en lists pagina's kunnen niet bezocht worden door een niet-geauthenticeerde gebruiker.
To-Do lijsten
Hint
Om onderstaande testen te schrijven heb je twee accounts nodig. Kopieer de commando's die je al hebt voor het beheer van accounts en maak nieuwe commando's voor de tweede account.
Schrijf volgende tests voor het aanmaken van To-Do lijsten:
- Een ingelogde gebruiker kan een nieuwe lijst aanmaken en wordt vervolgens geredirect naar de detailpagina.
Hint
Je kan aan de should functie een regex meegeven als tweede argument. Onderstaande regex kan gebruikt worden om te controleren of de detailpagina actief is.
/lists\/[0-9]*/- Een ingelogde gebruiker kan een nieuwe publieke lijst aanmaken die zichtbaar is voor andere gebruikers.
Hint
Het is niet mogelijk om een data-cy attribuut toe te voegen aan een tab omwille van hoe React Bootstrap gebouwd is. Gebruik de contains methode om in de lijst van tabbladen het juiste tabblad te vinden.
- Een ingelogde gebruiker kan een nieuwe privélijst aanmaken die enkel zichtbaar is voor die gebruiker en geen andere.
- Een ingelogde gebruiker wordt geredirect naar de home pagina als deze een lijst probeert te bezoeken waartoe deze geen toegang heeft.
Taken
Schrijf volgende test voor het beheer van taken:
- Een ingelogde gebruiker kan een nieuwe taak aanmaken in lijst waartoe deze toegang heeft en deze terug verwijderen. (faalt standaard).