permacoop icon indicating copy to clipboard operation
permacoop copied to clipboard

[Tech] As a developer I would like to ensure my frontend code is well tested at any time

Open Volubyl opened this issue 2 years ago • 2 comments

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

Volubyl avatar Oct 13 '22 14:10 Volubyl

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é

AntoineSmagghe avatar Nov 10 '22 16:11 AntoineSmagghe

@Volubyl Solution pour des fixtures E2E ? https://github.com/jorgebodega/typeorm-seeding

florimondmanca avatar Feb 10 '23 09:02 florimondmanca