]> nos-oignons.net Git - gestion-adh.git/commitdiff
Pas d'envoi de rappels si la cotisation a déjà été payée dans l'année
authorLunar <lunar@anargeek.net>
Wed, 2 Oct 2019 09:08:11 +0000 (11:08 +0200)
committerLunar <lunar@anargeek.net>
Wed, 2 Oct 2019 09:09:17 +0000 (11:09 +0200)
features/send-membership-reminders.feature
lib/nos_oignons.rb
lib/nos_oignons/member.rb

index 47cabf5226371a642be5034444f32c3796293ceb..89dfbd4b4ba78058384debdfe992127594464043 100644 (file)
@@ -46,6 +46,16 @@ Fonctionnalité: prévenir les membres qu'il faut renouveler leur cotisation
     Lorsque j'exécute send-membership-reminders le 2014-04-12
     Alors aucun email ne doit avoir été envoyé
 
     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
   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
index b85ebeaec4d255c2cc5ff3426726f2cca32d3bbe..72cea229df4d17cde186b8389b5ff746c0b22d21 100644 (file)
@@ -71,6 +71,7 @@ module NosOignons
     def send_membership_reminders!
       today = Time.now.to_date
       NosOignons::Member.all.select(&:up_to_date?).each do |member|
     def send_membership_reminders!
       today = Time.now.to_date
       NosOignons::Member.all.select(&:up_to_date?).each do |member|
+        next if member.membership_fee_paid_on.year == today.year
         reminders = NosOignons::Reminder.all.sort_by(&:days)
         anniversary = Time.new(today.year, member.joined_on.month,
                                member.joined_on.day).to_date
         reminders = NosOignons::Reminder.all.sort_by(&:days)
         anniversary = Time.new(today.year, member.joined_on.month,
                                member.joined_on.day).to_date
index de079a34c12a6c842463fd524e825d949abe82e5..0feb8255759924d028cd7ee9cb4e7038bf00c623 100644 (file)
@@ -16,6 +16,7 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+require 'date'
 require 'safe_yaml'
 SafeYAML::OPTIONS[:default_mode] = :safe
 
 require 'safe_yaml'
 SafeYAML::OPTIONS[:default_mode] = :safe