---
# System prepended metadata

title: Tests
tags: [specs]

---

---
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 !"
```