permacoop
permacoop copied to clipboard
[Tech] As a developer I would like to ensure my frontend code is well tested at any time
Description du besoin
A l'heure actuelle, le frontend n'est pas du tout testé par des tests automatiques. Etant donné que c'est une partie non négligeable de l'application, il serait bien que cette partie le soit afin de s'assurer à chaque changement de code dans le frontend que tout fonctionne comme attendendu.
Proposition d'implémentation
Dans un premier temps, l'on pourrait adopter une stratégie smoke test et tester en e2e les fonctionalitées principales de Permacoop
Note: ça sous entendrait de lister les fonctionalitées principales.
Quels outil de test ?
Sur catalogage, @florimondmanca et moi utilisons Playwright qui est relativement similaire à Cypress
Après quasiment 1 an d'usage et après avoir utilisé Cypress dans le cadre d'un autre projet, je me dis que cet outil répondrait au besoin et pourrait correspondre au cahier des charges suivant
- API facilement utilisable pour un dev front habitué au JS et aux tests avec un runner type jest
- Possibilité de parralléliser l'execution de tests
- facilitée de selectionner et intéragir avec des éléments du DOM
J'ai commencé une liste non-exhaustive des fonctionnalités à tester sous forme de user stories :
Public
- [x] ETQ Anonyme, je vois une page de connexion
Account
- [x] ETQ Salarié, je peux me logger sur la plateforme
- [ ] ETQ Salarié, je peux modifier 'Mon compte' (Prénom, Nom, Email, Mot de passe)
- [ ] ETQ Salarié, je peux me déconnecter
Calendar
- [ ] ETQ Salarié, je peux filtrer l'affichage de l'agenda par mois et par coopérateur
- [ ] ETQ Salarié, je peux cliquer sur un ou plusieurs jours pour renseigner une mission.
- [ ] ETQ Salarié, je vois les activités que j'ai renseignées dans mon agenda.
CRM
- [ ] ETQ Salarié, je peux ajouter un client
- [ ] ETQ Salarié, je peux modifier un client
- [ ] ETQ Salarié, je peux ajouter un Projet
- [ ] ETQ Salarié, je peux modifier un Projet
- [ ] ETQ Salarié, je peux ajouter un contact
- [ ] ETQ Salarié, je peux modifier un contact
- [ ] ETQ Salarié, je peux supprimer un contact
Gestion
- [ ] ETQ Salarié, je peux ajouter une mission
- [ ] ETQ Salarié, je peux modifier une mission
- [ ] ETQ Salarié, je peux ajouter un TJM
- [ ] ETQ Salarié, je peux modifier un TJM
- [ ] ETQ Salarié, je peux créer un devis
- [ ] ETQ Salarié, je peux générer une facture
RH
- [ ] ETQ Salarié, je peux faire une demande de congé
- [ ] ETQ Salarié, je peux voir ma demande de congé en attente
- [ ] ETQ Salarié, je peux modifier ma demande de congé
- [ ] ETQ Salarié, je peux supprimer ma demande de congé
- [ ] ETQ Salarié-cooperateur, je peux accepter une demande de congé qui n'est pas la mienne
- [ ] ETQ Salarié, je peux voir ma demande de congé accepté
- [ ] ETQ Salarié, je peux télécharger en format CSV ma fiche de paie
- [ ] ETQ Salarié, je vois le nombre de tickets restaurants qui me sont attribués
- [ ] ETQ Salarié, je peux ajouter une exception pour ne pas recevoir de tickets restaurants
- [ ] ETQ Salarié, je peux ajouter un coopérateur/salarié
- [ ] ETQ Salarié, je peux modifier un coopérateur/salarié
@Volubyl Solution pour des fixtures E2E ? https://github.com/jorgebodega/typeorm-seeding