# language: fr

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.

  Scénario: Pas de messages
    Soit une base avec Jane, à jour de cotisation
    Lorsque j'exécute send-membership-reminders
    Alors aucun email ne doit avoir été envoyé

  Scénario: Pas de rappel après qu'il soit trop tard
    Soit une base avec Pierre qui n'a pas payé sa cotisation cette année
    Lorsque j'exécute send-membership-reminders
    Alors aucun email ne doit avoir été envoyé

  Scénario: Envoi de l'appel
    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
    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

  Scénario: Pas de messages pour une toute nouvelle adhésion
    Soit une nouvelle adhésion de Jane
    Lorsque j'exécute send-membership-reminders
    Alors aucun email ne doit avoir été envoyé

  Scénario: Pas de messages pour une adhésion récente
    Soit une nouvelle adhésion de Jane qui a payé sa cotisation il y a 2 jours
    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
    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
    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
    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
    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é

  Scénario: Plusieurs messages
    Soit une base avec Pierre, à jour de cotisation
    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

  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
