]> nos-oignons.net Git - gestion-adh.git/blobdiff - features/send-membership-reminders.feature
Add one more test case for membership renewal
[gestion-adh.git] / features / send-membership-reminders.feature
index 09bdce721860a0d7821587817f4c9a6b4b5aea8a..9526dd1f7c87a2cad364dcc609f5fa7076cf1fb5 100644 (file)
@@ -1,6 +1,6 @@
 # language: fr
 
 # language: fr
 
-Fonctionnalité: prévenir les membres qu'il faut renouveller leur cotisation
+Fonctionnalité: prévenir les membres qu'il faut renouveler leur cotisation
   En tant que membre de Nos oignons, j'aimerais être prévenu lorsqu'il est
   tant de renouvelle ma cotisation, afin de pouvoir rester membre de
   l'association.
   En tant que membre de Nos oignons, j'aimerais être prévenu lorsqu'il est
   tant de renouvelle ma cotisation, afin de pouvoir rester membre de
   l'association.
@@ -16,12 +16,12 @@ Fonctionnalité: prévenir les membres qu'il faut renouveller leur cotisation
     Alors aucun email ne doit avoir été envoyé
 
   Scénario: Envoi de l'appel
     Alors aucun email ne doit avoir été envoyé
 
   Scénario: Envoi de l'appel
-    Soit une base avec Jane qui doit renouveller sa cotisation d'ici 30 jours
+    Soit une base avec Jane qui doit renouveler sa cotisation d'ici 30 jours
     Lorsque j'exécute send-membership-reminders
     Alors un appel pour la cotisation doit avoir été envoyé
 
   Scénario: Vérification de l'adresse postale
     Lorsque j'exécute send-membership-reminders
     Alors un appel pour la cotisation doit avoir été envoyé
 
   Scénario: Vérification de l'adresse postale
-    Soit une base avec Jane qui doit renouveller sa cotisation d'ici 30 jours
+    Soit une base avec Jane qui doit renouveler sa cotisation d'ici 30 jours
     Lorsque j'exécute send-membership-reminders
     Alors l'appel envoyé doit demander de vérifier l'adresse postale
 
     Lorsque j'exécute send-membership-reminders
     Alors l'appel envoyé doit demander de vérifier l'adresse postale
 
@@ -35,34 +35,94 @@ Fonctionnalité: prévenir les membres qu'il faut renouveller leur cotisation
     Lorsque j'exécute send-membership-reminders
     Alors aucun email ne doit avoir été envoyé
 
     Lorsque j'exécute send-membership-reminders
     Alors aucun email ne doit avoir été envoyé
 
+  Scénario: Pas de messages entre le premier et le deuxième rappel
+    Soit une base avec Jane qui doit renouveler sa cotisation d'ici 28 jours
+    Et qui a déjà reçu un appel 2 jours plus tôt
+    Lorsque j'exécute send-membership-reminders
+    Alors aucun email ne doit avoir été envoyé
+
+  Scénario: Renouvellement de la cotisation avant la date anniversaire
+    Soit une base avec Christian qui a adhéré le 2013-04-22 et payé sa dernière cotisation le 2014-03-24
+    Lorsque j'exécute send-membership-reminders le 2014-04-12
+    Alors aucun email ne doit avoir été envoyé
+
+  Scénario: Pas de message si la cotisation a été renouvellée bien avant la date anniversaire
+    Soit une base avec jvoisin qui a adhéré le 2017-10-23 et payé sa dernière cotisation le 2019-06-19
+    Lorsque j'exécute send-membership-reminders le 2019-09-23
+    Alors aucun email ne doit avoir été envoyé
+
+  Scénario: Appel un mois avant si la cotisation a été payée bien avant la date anniversaire
+    Soit une base avec jvoisin qui a adhéré le 2017-10-23 et payé sa dernière cotisation le 2019-06-19
+    Lorsque j'exécute send-membership-reminders le 2020-09-23
+    Alors 1 email doit avoir été envoyé
+
+  Scénario: Script pas exécuté tous les jours
+    Soit une base avec Jane qui doit renouveler sa cotisation d'ici 9 jours
+    Et qui a déjà reçu un appel 21 jours plus tôt
+    Lorsque j'exécute send-membership-reminders
+    Alors 1 email doit avoir été envoyé
+
   Scénario: Un seul envoi par membre
   Scénario: Un seul envoi par membre
-    Soit une base avec Jane qui doit renouveller sa cotisation d'ici 30 jours
+    Soit une base avec Jane qui doit renouveler sa cotisation d'ici 30 jours
     Lorsque j'exécute send-membership-reminders
     Et que j'exécute send-membership-reminders
     Alors 1 email doit avoir été envoyé
 
   Scénario: Un an après
     Lorsque j'exécute send-membership-reminders
     Et que j'exécute send-membership-reminders
     Alors 1 email doit avoir été envoyé
 
   Scénario: Un an après
-    Soit une base avec Jane qui doit renouveller sa cotisation d'ici 30 jours
+    Soit une base avec Jane qui doit renouveler sa cotisation d'ici 30 jours
     Et elle avait déjà reçu des appels l'année précédente
     Lorsque j'exécute send-membership-reminders
     Alors un appel pour la cotisation doit avoir été envoyé
 
   Scénario: Premier rappel
     Et elle avait déjà reçu des appels l'année précédente
     Lorsque j'exécute send-membership-reminders
     Alors un appel pour la cotisation doit avoir été envoyé
 
   Scénario: Premier rappel
-    Soit une base avec Jane qui doit renouveller sa cotisation d'ici 10 jours
+    Soit une base avec Jane qui doit renouveler sa cotisation d'ici 10 jours
     Et qui a déjà reçu un appel 20 jours plus tôt
     Lorsque j'exécute send-membership-reminders
     Alors un premier rappel pour la cotisation doit avoir été envoyé
 
   Scénario: Dernier rappel
     Et qui a déjà reçu un appel 20 jours plus tôt
     Lorsque j'exécute send-membership-reminders
     Alors un premier rappel pour la cotisation doit avoir été envoyé
 
   Scénario: Dernier rappel
-    Soit une base avec Jane qui doit renouveller sa cotisation d'ici 2 jours
+    Soit une base avec Jane qui doit renouveler sa cotisation d'ici 2 jours
     Lorsque j'exécute send-membership-reminders
     Alors un dernier rappel pour la cotisation doit avoir été envoyé
 
     Lorsque j'exécute send-membership-reminders
     Alors un dernier rappel pour la cotisation doit avoir été envoyé
 
+  Scénario: Appel un mois avant si l’anniversaire est en décembre
+    Soit une base avec Fred qui a adhérée le 2017-12-05 et payé sa dernière cotisation le 2018-12-05
+    Lorsque j'exécute send-membership-reminders le 2019-11-05
+    Alors 1 email doit avoir été envoyé
+
+  Scénario: Appel 30 jours avant si l’anniversaire est en janvier
+    Soit une base avec Bruno qui a adhéré le 2018-01-05 et payé sa dernière cotisation le 2019-01-05
+    Lorsque j'exécute send-membership-reminders le 2019-12-06
+    Alors 1 email doit avoir été envoyé
+
+  Scénario: Premier rappel 10 jours avant si l’anniversaire est en janvier
+    Soit une base avec Bruno qui a adhéré le 2018-01-05 et payé sa dernière cotisation le 2019-01-05
+    Et qui a déjà reçu un appel le 2019-12-06
+    Lorsque j'exécute send-membership-reminders le 2019-12-26
+    Alors 1 email doit avoir été envoyé
+
+  Scénario: Deuxième rappel 2 jours avant si l’anniversaire est au 1er janvier
+    Soit une base avec Bruno qui a adhéré le 2018-01-01 et payé sa dernière cotisation le 2019-01-01
+    Et qui a déjà reçu un appel le 2019-12-02
+    Et qui a déjà reçu un appel le 2019-12-22
+    Lorsque j'exécute send-membership-reminders le 2019-12-30
+    Alors 1 email doit avoir été envoyé
+
   Scénario: Plusieurs messages
     Soit une base avec Pierre, à jour de cotisation
   Scénario: Plusieurs messages
     Soit une base avec Pierre, à jour de cotisation
-    Et avec Jane qui doit renouveller sa cotisation d'ici 10 jours
-    Et avec Fatima qui doit renouveller sa cotisation d'ici 2 jours
-    Et avec Fred qui doit renouveller sa cotisation d'ici 10 jours
-    Et avec Moly qui doit renouveller sa cotisation d'ici 30 jours
+    Et avec Jane qui doit renouveler sa cotisation d'ici 10 jours
+    Et avec Fatima qui doit renouveler sa cotisation d'ici 2 jours
+    Et avec Fred qui doit renouveler sa cotisation d'ici 10 jours
+    Et avec Moly qui doit renouveler sa cotisation d'ici 30 jours
     Lorsque j'exécute send-membership-reminders
     Alors des emails doivent avoir été envoyés à Jane, Fatima, Fred et Moly
     Lorsque j'exécute send-membership-reminders
     Alors des emails doivent avoir été envoyés à Jane, Fatima, Fred et Moly
+
+  Scénario: Envoi de l'appel avec une adresse postale
+    Soit une base avec Sophie ayant une adresse postale et qui doit renouveler sa cotisation d'ici 30 jours
+    Lorsque j'exécute send-membership-reminders
+    Alors l'appel pour la cotisation doit demander confirmation de l'adresse postale
+
+  Scénario: Envoi de l'appel sans adresse postale
+    Soit une base avec Sylvain qui n'a pas d'adresse postale et qui doit renouveler sa cotisation d'ici 30 jours
+    Lorsque j'exécute send-membership-reminders
+    Alors l'appel pour la cotisation ne doit pas parler de l'adresse postale