]> nos-oignons.net Git - gestion-adh.git/blobdiff - features/step_definitions/members.rb
Mise en évidence d'une condition.
[gestion-adh.git] / features / step_definitions / members.rb
index 6e84484178f47f3dec2e53071adbe6917f157da9..564600966fce437b336b62b652a94520465ed09e 100644 (file)
@@ -39,8 +39,29 @@ Given /^une base avec (\w+) qui a adhéré le ([0-9-]+) et payé sa dernière co
   create_new_member(name, joined_on, paid_on)
 end
 
+Given /^une base avec (\w+), membre (\w+), ayant cotisé le ([0-9-]+)$/ do |name, member_id, paid_on|
+  create_new_member(name, paid_on, paid_on)
+  expect(File.read(File.join(current_dir, member_filename_for_id(member_id)))).to include(name)
+end
+
+Given /^une base avec (\w+), membre (\w+), n'ayant jamais cotisé$/ do |name, member_id|
+  joined_on = (Time.now - 3600*24*30).strftime('%Y-%m-%d')
+  create_new_member(name, joined_on, nil)
+  expect(File.read(File.join(current_dir, member_filename_for_id(member_id)))).to include(name)
+end
+
+Given /^une base avec uniquement (\w+), membre (\w+)$/ do |name, member_id|
+  paid_on = (Time.now - 3600*24*30).strftime('%Y-%m-%d')
+  create_new_member(name, paid_on, paid_on)
+  member_path = File.join(current_dir, member_filename_for_id(member_id))
+  expect(File.read(member_path)).to include(name)
+  expect(Dir.glob("#{@member_db_path}/[0-9]*")).to have(1).member
+end
+
+
 Given /^(?:une base )?avec (\w+) qui doit renouveller sa cotisation d'ici (\d+) jours$/ do |name, days_before_anniversary|
-  paid_on = Time.now.to_date - days_before_anniversary.to_i
+  now = Time.now
+  paid_on = Time.new(now.year - 1, now.month, now.day).to_date + days_before_anniversary.to_i
   joined_on = paid_on
   create_new_member(name, joined_on, paid_on)
 end
@@ -50,12 +71,24 @@ Given /^une nouvelle adhésion de (\w+)$/ do |name|
   create_new_member(name, joined_on, joined_on)
 end
 
+Given /^une nouvelle adhésion de (\w+) qui a payé sa cotisation il y a (\d+) jours$/ do |name, days|
+  joined_on = (Time.now.to_date - days.to_i).strftime('%Y-%m-%d')
+  create_new_member(name, joined_on, joined_on)
+end
+
+
 Given /^elle avait déjà reçu des appels l'année précédente$/ do
   Timecop.travel(Time.now.to_date - 375) do
     NosOignons::ReminderDb.instance.record(OpenStruct.new(@last_member))
   end
 end
 
+Given /^qui a déjà reçu un appel (\d+) jours plus tôt$/ do |days_ago|
+  Timecop.travel(Time.now.to_date - days_ago.to_i) do
+    NosOignons::ReminderDb.instance.record(OpenStruct.new(@last_member))
+  end
+end
+
 When /^j'ajoute une fiche correcte pour une nouvelle adhésion$/ do
   @file = member_filename_for_id(new_id)
   write_file @file, render_member_file(EXTRA_MEMBER)