Skip to content

Commit 5cd65ac

Browse files
committed
[doc] update feature tag frontend test
1 parent c41ad2b commit 5cd65ac

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

frontend_tests/README.md

+105
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,108 @@ Cela permettra de :
100100
- `yarn django:start-server` : Initialiser un serveur de test Django et une base données de test et les différentes fixtures.
101101
- `yarn django:update-permissions` : Mise à jour des permissions des utilisateurs
102102
- `yarn frontend:start-server` : Mise à disposition des statics et composants JS
103+
104+
## Philosophie des tests
105+
106+
### Ajout d'une nouvelle fonctionnalité ou modification
107+
108+
Lors de l'ajout d'une nouvelle fonctionnalité ou d'une modification, il est nécessaire de créer les tests front end s'il n'existe pas ou alors ou de mettre à jour l'existant.
109+
Pour pouvoir retrouver facilement un test, une recherche peut-être effectuée pour retrouver le bon fichier en fonction de la classification proposée dans la prochaine section.
110+
111+
Avant de pousser son code sur le dépôt, il est nécessaire de lancer les tests afin de détecter d'éventuelles régréssions.
112+
113+
Toute les semaines (pour les releases) l'ensemble des test doivent être lancés pour s'assurer que tout fonctionne correctement.
114+
115+
## Classifications des tests
116+
117+
Pour pouvoir classifier les tests, il est nécessaire de suivre la nomenclature suivante en fonction de la page impactée :
118+
Légende :
119+
120+
- ❌ : pas encore utilisé
121+
- 🚧 : partiellement utilisé
122+
- ✅ : positionné sur tout les tests concernés
123+
124+
Merci de mettre à jour la colonne `Utilisé` en fonction de l'utilisation du code.
125+
126+
| Page | Url | Fonctionnalité | Code à insérer | Utilisé |
127+
| -------------------------- | ------------------------------ | -------------------------------------------------- | --------------------------------------------------- | ------: |
128+
| Navigation principale | `/` | Liste projet récents | `// @liste-projets-recents` ||
129+
| Navigation principale | `/` | Projets à examiner | `// @acces-moderation` ||
130+
| Navigation principale | `/` | Ressources | `// @acces-ressources` ||
131+
| Navigation principale | `/` | Notifications | `// @liste-notifications` ||
132+
| Navigation principale | `/` | Accès rapide utilisateur | `// @acces-rapide-utilisateur` ||
133+
| Liste des projets tableau | `/projects/staff` | Page | `// @page-kanban-projets` ||
134+
| Liste des projets tableau | `/projects/staff` | Recherche | `// @recherche-kanban-projets` ||
135+
| Liste des projets tableau | `/projects/staff` | Déposer projet pour le compte de | `// @bouton-deposer-projet` ||
136+
| Liste des projets tableau | `/projects/staff` | Export CSV | `// @kanban-export-csv` ||
137+
| Liste des projets liste | `/projects/advisor` | Page | `// @page-liste-projets` ||
138+
| Liste des projets liste | `/projects/advisor` | Recherche | `// @recherche-liste-projets` ||
139+
| Liste des projets liste | `/projects/advisor` | Création projet | `// @bouton-deposer-projet` ||
140+
| Liste des projets liste | `/projects/advisor` | Export CSV | `// @liste-projets-export-csv` ||
141+
| Liste des projets carte | `/projects/map` | Page | `// @page-map-projets` ||
142+
| Liste des projets carte | `/projects/map` | Recherche | `// @recherche-map-projets` ||
143+
| Liste des projets carte | `/projects/map` | Création projet | `// @bouton-deposer-projet` ||
144+
| Liste des projets carte | `/projects/map` | Export CSV | `// @map-projets-export-csv` ||
145+
| Projet | `/project/{id}` | Navigation | `// @navigation-projet` ||
146+
| Projet | `/project/{id}` | Raccourci CRM projet | `// @bouton-raccourci-crm-staff` ||
147+
| Projet | `/project/{id}` | Inviter | `// @bouton-inviter-projet` ||
148+
| Projet | `/project/{id}` | Changement role | `// @changement-role-projet` ||
149+
| Projet - Présentation | `/project/{id}/overview` | Page | `// @page-projet-presentation` ||
150+
| Projet - Présentation | `/project/{id}/overview` | Rappel Email | `// @page-projet-presentation-rappel-email` ||
151+
| Projet - Présentation | `/project/{id}/overview` | Thématique projet | `// @page-projet-presentation-thematique` ||
152+
| Projet - Présentation | `/project/{id}/overview` | Note interne | `// @page-projet-presentation-note-interne` ||
153+
| Projet - Présentation | `/project/{id}/overview` | Résumé projet saisine | `// @page-projet-presentation-resume-saisine` ||
154+
| Projet - Présentation | `/project/{id}/overview` | Activité du projet | `// @page-projet-presentation-activite` ||
155+
| Projet - Présentation | `/project/{id}/overview` | Tags projet | `// @page-projet-presentation-tags` ||
156+
| Projet - Présentation | `/project/{id}/overview` | Modal localisation projet | `// @page-projet-presentation-localisation` ||
157+
| Projet - Présentation | `/project/{id}/overview` | Inviter partenaire (ancien collectivité) | `// @page-projet-presentation-inviter-partenaire` ||
158+
| Projet - Présentation | `/project/{id}/overview` | Inviter dans l'équipe de suivi (ancien conseiller) | `// @page-projet-presentation-inviter-suivie` ||
159+
| Projet - État des lieux | `/project/{id}/connaissance` | Page | `// @page-projet-edl` ||
160+
| Projet - État des lieux | `/project/{id}/connaissance` | CTA complétion | `// @page-projet-edl-completer` ||
161+
| Projet - État des lieux | `/project/{id}/connaissance` | Partage | `// @page-projet-edl-partager` ||
162+
| Projet - Recommandations | `/project/{id}/actions` | Page | `// @page-projet-recommandations` ||
163+
| Projet - Recommandations | `/project/{id}/actions` | Création | `// @page-projet-recommandations-creation` | 🚧 |
164+
| Projet - Recommandations | `/project/{id}/actions` | Modification | `// @page-projet-recommandations-modification` ||
165+
| Projet - Recommandations | `/project/{id}/actions` | Passer en brouillon | `// @page-projet-recommandations-brouillon` ||
166+
| Projet - Recommandations | `/project/{id}/actions` | Suppression | `// @page-projet-recommandations-suppression` ||
167+
| Projet - Recommandations | `/project/{id}/actions` | Changement ordre recommandation | `// @page-projet-recommandations-ordre` ||
168+
| Projet - Recommandations | `/project/{id}/actions` | Etiquette non lu | `// @page-projet-recommandations-etiquette-non-lue` ||
169+
| Projet - Recommandations | `/project/{id}/actions` | Modal - Echange | `// @page-projet-recommandations-modal` ||
170+
| Projet - Recommandations | `/project/{id}/actions` | Status (En cours, faite, non applicable) | `// @page-projet-recommandations-status` ||
171+
| Projet - Recommandations | `/project/{id}/actions` | Bandeau recos non lues | `// @page-projet-recommandations-bandeau-non-lue` ||
172+
| Projet - Conversations | `/project/{id}/conversations` | Page | `// @page-projet-conversations` ||
173+
| Projet - Conversations | `/project/{id}/conversations` | Nouveau message | `// @page-projet-conversations-nouveau-message` ||
174+
| Projet - Fichier | `/project/{id}/documents` | Page | `// @page-projet-fichier` ||
175+
| Projet - Fichier | `/project/{id}/documents` | Recherche | `// @page-projet-fichier-recherche` ||
176+
| Projet - Fichier | `/project/{id}/documents` | Ajouter un fichier | `// @page-projet-fichier-ajouter` ||
177+
| Projet - Fichier | `/project/{id}/documents` | Fichier - mettre en favori | `// @page-projet-fichier-favori` ||
178+
| Projet - Fichier | `/project/{id}/documents` | Fichier - supprimer | `// @page-projet-fichier-supprimer` ||
179+
| Projet - Fichier | `/project/{id}/documents` | Fichier - télécharger | `// @page-projet-fichier-télécharger` ||
180+
| Projet - Fichier | `/project/{id}/documents` | Fichier reco | `// @page-projet-fichier-reco` ||
181+
| Projet - Fichier | `/project/{id}/documents` | Fichier EDL - télécharger | `// @page-projet-fichier-edl-télécharger` ||
182+
| Projet - Fichier | `/project/{id}/documents` | Epingler un lien | `// @page-projet-fichier-epingler-lien` ||
183+
| Projet - Espace conseiller | `/project/{id}/suivi` | Page | `// @page-projet-espace-conseiller` ||
184+
| Projet - Espace conseiller | `/project/{id}/suivi` | Nouveau message | `// @page-projet-espace-conseiller-nouveau-message` ||
185+
| Projet - Paramètres | `/project/{id}/administration` | Page | `// @page-projet-parametres` ||
186+
| Projet - Paramètres | `/project/{id}/administration` | Modifier info projet | `// @page-projet-parametres-modifier` ||
187+
| Projet - Paramètres | `/project/{id}/administration` | Gestion des utilisateurs | `// @page-projet-parametres-gestion-utilisateur` ||
188+
| Projet - Paramètres | `/project/{id}/administration` | Gestion invitation | `// @page-projet-parametres-gestion-invitation` ||
189+
| Projet - Paramètres | `/project/{id}/administration` | Mettre projet en pause | `// @page-projet-parametres-pause-projet` ||
190+
| Projet - Paramètres | `/project/{id}/administration` | Quitter le projet | `// @page-projet-parametres-quitter-projet` ||
191+
| Déposer un projet | `/onboarding/project` | Page | `// @deposer-projet` ||
192+
193+
Le code est a positionner dans les fichiers de tests Cypress dans le nom du test pour permettre de retrouver facilement les tests concernés et de les executer selectivement à l'aide du package @cypress/grep.
194+
195+
Exemple :
196+
197+
```js
198+
describe('I can view kanban when connected as staff @page-kanban-projets @exemple-autre-code', () => {
199+
beforeEach(() => {
200+
cy.login('staff');
201+
});
202+
203+
it('visits kanban page', () => {
204+
cy.visit(`/projects/staff`);
205+
});
206+
});
207+
```

0 commit comments

Comments
 (0)