ODDInvictus / ibs3

Invictus Bier Systeem
https://oddinvictus.nl
MIT License
1 stars 2 forks source link

e2e tests #351

Open Astronautilus14 opened 2 months ago

Astronautilus14 commented 2 months ago

Ik gebruik dit project als voorbeeld omdat het een bijna identieke tech stack gebruikt: https://github.com/CodingGarden/listd

Om de een of andere reden probeert prisma al migraties te doen voordat mariadb klaar is, daarom is er nu een lelijke sleep 30 in de docker-compose. De authenticatie werkt ook nog niet. De .env.test moet naar de gitignore en ik heb totaal niet zojuist mijn mongodb atlas wachtwoord geleaked

Nierot commented 2 months ago

Ja die mariadb issue had ik ook al, in docker-compose kan je een "health-check" doen, en bijv. redis dependent maken op mariadb. dan heb je de issue niet

Nierot commented 2 months ago

Auth kan worden uitgeschakeld met de env NODE_ENV=test en met TEST_USER_ID kan je de gebruiker selecteren https://github.com/ODDInvictus/ibs3/blob/ce92cc0a0442ed6909ba8a8d5a234296c63d1898/src/hooks.server.ts#L19-L25

Astronautilus14 commented 2 months ago

Geslaagde tests! Je kan nu de tests buiten docker draaien door een .env.test te maken. Belangrijk hier is dat een nieuwe env is die in testen belangrijk is environment. Als je dit zet naar test bypass je de authenticatie. Ook moet je de database url vervangen door een nieuwe (lege) test database. Doe daarna eenmalig npm run test:local:prepare en daarna npm run test:local:[unix|windows].

Ik ben heel benieuwd of het werkt op windows (zal wel weer niet he) Volgende todo is een manier bedenken en uitvoeren om eenvoudig van gebruiker te kunnen wisselen tussen verschillende tests.