---
tags: specs
---
# Tests
Voir présentation [cucumber](https://docs.google.com/presentation/d/18IiUnli2GUMiwJGgP0AC-2OyLluO5SNbVANg10vjr74/edit#slide=id.gbc285ccd96_1_0)
Voir intégration sur [github](https://github.com/betagouv/preuve-covoiturage/tree/dev/tests/cypress/integration)
Objectif fin juin : retranscrire ici l'ensemble des tests faits en 2019 (voir [doc](https://docs.google.com/spreadsheets/d/1FpBGeSKsfPKSpzshhiOwcjdOeWnbnpN6ZntEVZ7XILw/edit#gid=658626478))
## Mots-clé
### Étant donné
- `je suis connecté.e comme "role"`
### Lorsque
- `je clique sur "selecteur"`
- `je remplis "selecteur" avec les données suivantes :`
### Alors
- `je vois que "selecteur" inclut "texte"`
- `je vois que "selecteur" n'inclut pas "texte"`
- `je vois le titre "texte"`
- `je vois un message indiquant "texte"`
- `je vois "selecteur"`
- `une requête "request" est envoyée`
##
```cucumber
# language: fr
Fonctionnalité: Créer un utilisateur
En tant qu'administrateur je veux pouvoir créer et supprimer un utilisateur territoire
Scénario: Créer et supprimer un utilisateur découverte pour un territoire
Étant donné que je suis connecté.e comme administrateur du registre
Alors je vois le menu administration
Lorsque je clique sur le menu administration
Alors je vois le titre "Administration"
Lorsque je clique sur le menu utilisateurs
Alors je vois l'écran liste des utilisateurs
Et je vois que la liste des utilisateurs inclut "territory@example.com"
Et je vois que la liste des utilisateurs n'inclut pas "1ycau.admin@inbox.testmail.app"
Lorsque je clique sur le menu création d'un nouvel utilisateur
Alors je vois le formulaire de création utilisateur
Lorsque je remplis le formulaire de création utilisateur avec les données suivantes :
| prénom | Jean-Claude |
| nom | DUSS |
| email | 1ycau.admin@inbox.testmail.app |
| numéro de téléphone | 0600000000 |
| groupe | Territoire |
| droits d'accès | Découverte |
| territoire | Syndicat Mixte Des Transports En Commun Du Territoire De Belfort |
Et que je clique sur le bouton créer un utilisateur
Alors je vois un message indiquant "L'utilisateur Jean-Claude DUSS a été créé"
Et un lien est envoyé par mail à "1ycau.admin@inbox.testmail.app"
Et je vois que la liste des utilisateurs inclut "1ycau.admin@inbox.testmail.app"
Lorsque je clique sur le bouton supprimer l'utilisateur de la ligne incluant "1ycau.admin@inbox.testmail.app" de la liste des utilisateurs
Alors je vois une fenêtre avec le message "Voulez-vous supprimer cet utilisateur ?"
Lorsque je clique sur le bouton de confirmation
Alors je vois un message indiquant "L'utilisateur Jean-Claude DUSS a été supprimé"
Et je vois que la liste des utilisateurs n'inclut pas "1ycau.admin@inbox.testmail.app"
```
##
```cucumber
# language: fr
Fonctionnalité: Créer un utilisateur
En tant qu'administrateur je veux pouvoir éditer un utilisateur opérateur
Scénario: Éditer un utilisateur opérateur
Étant donné que je suis connecté.e comme administrateur du registre
Alors je vois le menu administration
Lorsque je clique sur le menu administration
Alors je vois le titre "Administration"
Lorsque je clique sur le menu utilisateurs
Alors je vois que la liste des utilisateurs inclut "territory@example.com"
Lorsque je clique sur le bouton "Opérateur"
Alors je vois l'écran liste des utilisateurs
Et je vois que la liste des utilisateurs n'inclut pas "1ycau.operator@inbox.testmail.app"
Lorsque je clique sur le menu création d'un nouvel utilisateur
Alors je vois le formulaire de création utilisateur
Lorsque je remplis le formulaire de création utilisateur avec les données suivantes :
| prénom | Mega |
| nom | Covoiturix |
| email | 1ycau.operator@inbox.testmail.app |
| numéro de téléphone | 0600000000 |
| groupe | Opérateur |
| droits d'accès | Administrateur |
| opérateur | Maxicovoit |
Et que je clique sur le bouton créer un utilisateur
Alors je vois un message indiquant "L'utilisateur Mega Covoiturix a été créé"
Et un lien est envoyé par mail à "1ycau.operator@inbox.testmail.app"
Et je vois que la liste des utilisateurs inclut "1ycau.operator@inbox.testmail.app"
Lorsque je clique sur le bouton éditer l'utilisateur de la ligne incluant "1ycau.operator@inbox.testmail.app" de la liste des utilisateurs
Et que je remplis le formulaire de création utilisateur avec les données suivantes :
| nom | Covoiturax |
Et que je clique sur le bouton mettre à jour un utilisateur
Alors je vois un message indiquant "Les information ont bien été modifiées"
Et je vois que la liste des utilisateurs inclut "Covoiturax"
Lorsque je clique sur le bouton supprimer l'utilisateur de la ligne incluant "1ycau.operator@inbox.testmail.app" de la liste des utilisateurs
Alors je vois une fenêtre avec le message "Voulez-vous supprimer cet utilisateur ?"
Lorsque je clique sur le bouton de confirmation
Alors je vois un message indiquant "L'utilisateur Mega Covoiturix a été supprimé"
Et je vois que la liste des utilisateurs n'inclut pas "1ycau.operator@inbox.testmail.app"
```
## Scénario 1 : en tant que administrateur registre, je veux ajouter un nouvel utilisateur territoire
```cucumber
Fonctionnalité: Créer un utilisateur
En tant qu'administrateur je veux pouvoir créer des utilisateurs
Scénario: Créer un utilisateur découverte pour un territoire
Étant donné que je suis connecté.e comme "administrateur du registre"
Alors je vois "le menu administration"
Lorsque je clique sur "le menu administration"
Alors je vois le titre "Administration"
Lorsque je clique sur "le menu utilisateurs"
Alors je vois "l'écran liste des utilisateurs"
Et je vois que "la liste des utilisateurs" inclut "territory@example.com"
Et je vois que "la liste des utilisateurs" n'inclut pas "margot.sanchez34+JC@gmail.com"
Lorsque je clique sur "le menu création d'un nouvel utilisateur"
Alors je vois "le formulaire de création utilisateur"
Lorsque je remplis "le formulaire de création utilisateur" avec les données suivantes :
| prénom | Jean-Claude |
| nom | DUSS |
| email | margot.sanchez34+JC@gmail.com |
| numéro de téléphone | 0600000000 |
| groupe | Territoire |
| droits d'accès | Découverte |
| territoire | Syndicat Mixte Des Transports En Commun Du Territoire De Belfort |
Et que je clique sur "le bouton créer un utilisateur"
Alors je vois un message indiquant "L'utilisateur Jean-Claude DUSS a été créé"
Et je vois que "la liste des utilisateurs" inclut "margot.sanchez34+JC@gmail.com"
```
## Scénario 2 : en tant que administrateur registre, je veux supprimer un utilisateur territoire
```cucumber
Fonctionnalité: Supprimer un utilisateur
En tant qu'administrateur je veux pouvoir supprimer des utilisateurs
Scénario: Supprimer un utilisateur découverte pour un territoire
Étant donné que je suis connecté.e comme "administrateur du registre"
Alors je vois "le menu administration"
Lorsque je clique sur "le menu administration"
Alors je vois le titre "Administration"
Lorsque je clique sur "le menu utilisateurs"
Alors je vois "l'écran liste des utilisateurs"
Et je vois que "la liste des utilisateurs" inclut "margot.sanchez34+JC@gmail.com"
Lorsque je clique sur le bouton "Supprimer l'accès"
Alors je vois l'écran "Voulez-vous supprimer cet utilisateur ?"
Lorsque je clique sur le bouton "Oui"
Alors je vois un message indiquant "L'utilisateur Jean-Claude DUSS a été supprimé"
Et je vois que "la liste des utilisateurs" n'inclut pas "margot.sanchez34+JC@gmail.com"
```
## Scénario 3 : en tant que administrateur registre, je veux ajouter un nouvel utilisateur opérateur
```cucumber
Fonctionnalité: Créer un utilisateur
En tant qu'administrateur je veux pouvoir créer des utilisateurs
Scénario: Créer un utilisateur administrateur pour un opérateur
Étant donné que je suis connecté.e comme "administrateur du registre"
Alors je vois "le menu administration"
Lorsque je clique sur "le menu administration"
Alors je vois le titre "Administration"
Lorsque je clique sur "le menu utilisateurs"
Alors je vois "l'écran liste des utilisateurs"
Lorsque je clique sur "Opérateur"
Alors je vois "l'écran liste des utilisateurs opérateur"
Et je vois que "la liste des utilisateurs" inclut "operator@example.com"
Et je vois que "la liste des utilisateurs" n'inclut pas "margot.sanchez34+Megacovoit@gmail.com"
Lorsque je clique sur "le menu création d'un nouvel utilisateur"
Alors je vois "le formulaire de création utilisateur"
Lorsque je remplis "le formulaire de création utilisateur" avec les données suivantes :
| prénom | Mega |
| nom | Covoiturix |
| email | margot.sanchez34+Megacovoit@gmail.com |
| numéro de téléphone | 0600000000 |
| groupe | Opérateur |
| droits d'accès | Administrateur |
| Opérateur | Megacovoit |
Et que je clique sur "le bouton créer un utilisateur"
Alors je vois un message indiquant "L'utilisateur Mega Covoiturix a été créé"
Et je vois que "la liste des utilisateurs" inclut "margot.sanchez34+Megacovoit@gmail.com"
```
## Scénario 4 : en tant que administrateur registre, je veux éditer un utilisateur opérateur
```cucumber
Fonctionnalité: Editer un utilisateur opérateur
En tant qu'administrateur je veux pouvoir éditer des utilisateurs
Scénario: Editer un utilisateur administrateur pour un opérateur
Étant donné que je suis connecté.e comme "administrateur du registre"
Alors je vois "le menu administration"
Lorsque je clique sur "le menu administration"
Alors je vois le titre "Administration"
Lorsque je clique sur "le menu utilisateurs"
Alors je vois "l'écran liste des utilisateurs"
Lorsque je clique sur "Opérateur"
Alors je vois "l'écran liste des utilisateurs opérateur"
Et je vois que "la liste des utilisateurs" inclut "margot.sanchez34+Megacovoit@gmail.com"
Lorsque je clique sur le bouton "Editer"
Alors je vois "le formulaire de modification utilisateur"
Lorsque je remplis "le formulaire de modification utilisateur" avec les données suivantes :
| prénom | Maxi |
| nom | Covoiturix |
| email | margot.sanchez34+Megacovoit@gmail.com |
| numéro de téléphone | 0600000000 |
| droits d'accès | Administrateur |
Et que je clique sur le bouton "Mettre à jour"
Alors je vois un message indiquant "Les information ont bien été modifiées"
Et je vois dans "la liste des utilisateurs" le nom "Maxi Covoiturix"
```
## Scénario 5 : en tant qu'utilisateur territoire, je veux éditer mon profil
```cucumber
Fonctionnalité: Editer un utilisateur territoire
En tant qu'utilisateur découverte je veux pouvoir éditer mon profil
Scénario: Editer un utilisateur territoire
Étant donné que je suis connecté.e comme "découverte"
Alors je vois "le menu administration"
Lorsque je clique sur "le menu administration"
Alors je vois "l'écran mon profil"
Et je vois dans "l'écran mon profil" les données suivantes :
| prénom | Jean-Claude |
| nom | DUSS |
| email | jcduss@example.com |
| numéro de téléphone | 0600000000 |
Lorsque je remplis "le formulaire de modification utilisateur" avec les données suivantes :
| prénom | Maurice |
| nom | Blanc |
| email | maurice.blance@example.com |
| numéro de téléphone | 0600000001 |
Et que je clique sur le bouton "Mettre à jour"
Alors je vois un message indiquant "Votre profil a bien été mis à jour."
Et un lien est envoyé par mail à "jcduss@example.com" et contient "Confirmation de votre email"
Et un lien est envoyé par mail à "maurice.blance@example.com" et contient "Changement d'adresse email"
Et je vois dans "l'écran mon profil" les données suivantes :
| prénom | Maurice |
| nom | Blanc |
| email | maurice.blance@example.com |
| numéro de téléphone | 0600000001 |
```
Répéter ce scénario pour l'ensemble des profils :
* Territoire :
* Administration
* Consultation
* Découverte
* Opérateur:
* Administration
* Consultation
* Registre :
* Administration
* Consultation
## Scénario 6 : gestion des emails identiques
Ce scénario suppose la création de JC Duss en amont
```cucumber
Fonctionnalité: Editer un utilisateur avec un email déjà en base
En tant qu'administrateur je veux pouvoir éditer des utilisateurs
Scénario: Editer un utilisateur avec un email existant en base
Étant donné que je suis connecté.e comme administrateur du registre
Alors je vois le menu administration
Lorsque je clique sur le menu administration
Alors je vois le titre "Administration"
Lorsque je clique sur le menu utilisateurs
Alors je vois l'écran liste des utilisateurs
Lorsque je recherche "jcduss@example.com"
Alors je vois que la liste des utilisateurs inclut "jcduss@example.com"
# Créer
Lorsque je clique sur le menu création d'un nouvel utilisateur
Alors je vois le formulaire de création utilisateur
Lorsque je remplis le formulaire de création utilisateur avec les données suivantes :
| prénom | Maurice|
| nom | Blanc |
| email | jcduss@example.com |
| numéro de téléphone | 0600000000 |
| groupe | Territoire |
| droits d'accès | Découverte |
| territoire | Ile-De-France |
Et que je clique sur le bouton enregistrer
Alors je vois un message indiquant "L'émail est déjà utilisé"
Lorsque je clique sur le bouton "Annuler"
Alors je vois l'écran liste des utilisateurs
```
## Scénario 7 : en tant que super administrateur je veux éditer les informations d'un territoire
```cucumber
Fonctionnalité: Editer les informations d'un territoire
En tant qu'administrateur je veux pouvoir éditer des territoires
Scénario: Editer un territoire
Étant donné que je suis connecté.e comme administrateur du registre
Alors je vois le menu administration
Lorsque je clique sur le menu administration
Alors je vois le titre "Administration"
Lorsque je clique sur le menu Territoires
Alors je vois l'écran liste des territoires
Lorsque je recherche "Biarritz"
Alors je vois que la liste des territoires inclut "Biarritz"
# Editer
Lorsque je clique sur le bouton "Editer"
Alors je vois le formulaire d'édition territoire
Et je vois que la case "est partenaire du registre" n'est pas cochée
Lorsque je coche la case "est partenaire du registre"
Et que je clique sur le bouton enregistrer
Alors je vois le formulaire structure
Lorsque je remplis le formulaire structure avec les données suivantes :
| SIRET| 21640122400011|
Alors je vois les champs suivant complétés
|Nature juridique|
|Naf juridique|
|Numéro de TVA intracommunautaire|
|N° et rue*|
|Code postal*|
|Ville*|
|Pays*|
Lorsque je remplis le formulaire Contacts et responsables aves les données suivantes :
|Délégué à la protection des données |
|Prénom| Alain |
|Nom | Ducasse |
|Adresse email | alain.ducasse@example.com |
|Responsable du traitement |
|Prénom| Regis|
|Nom | Marcon |
|Adresse email | regis.marcon@example.com |
|Responsable technique |
|Prénom| Mère |
|Nom | Brazier |
|Adresse email | mère.brezier@example.com |
Et que je clique sur le bouton "Mettre à jour"
Alors je vois un message indiquant "Biarritz (64) a été mis à jour !"
```