]> nos-oignons.net Git - gestion-adh.git/commitdiff
Continue implementing list-emails
authorLunar <lunar@anargeek.net>
Sat, 1 Jun 2013 11:02:16 +0000 (13:02 +0200)
committerLunar <lunar@anargeek.net>
Sat, 1 Jun 2013 11:02:16 +0000 (13:02 +0200)
bin/list-emails
features/list-emails.feature
features/step_definitions/commands.rb
features/step_definitions/subscriptions.rb
features/support/env.rb

index 569571efdde8ff8cdb371031e46c6059a1914cb3..4c8a286f627792b0e12b0b64520abd8c2c7c9eb0 100755 (executable)
@@ -8,6 +8,10 @@ Bundler.setup
 require 'nos_oignons/subscriptions'
 
 subscriptions = read_subscriptions
+now = Time.now
+last_year = Time.new(now.year - 1, now.month, now.day).to_date
 subscriptions.each_pair do |subscription_id, data|
-  puts data['email']
+  if data['membership_fee_paid_on'] && last_year < data['membership_fee_paid_on']
+    puts data['email']
+  end
 end
index 27c2a9e20ef3648451e810cc07726186e9c656a6..161600f8b49fb2f6ab92353ef6fe9c07bf502e83 100644 (file)
@@ -8,7 +8,7 @@ Fonctionnalité: obtenir les emails des membres à jour de cotisations
   Scénario: Aucun membre enregistré
     Soit une base de membres vide
     Lorsque j'exécute list-emails
-    Alors la sortie doit-être vide
+    Alors la sortie doit être vide
 
   Scénario: Un membre à jour de cotisation
     Soit une base avec Pierre, à jour de cotisation
@@ -19,7 +19,7 @@ Fonctionnalité: obtenir les emails des membres à jour de cotisations
       """
 
   Scénario: Un ancien membre
-    Soit une base avec Pierre, qui n'a pas payé sa cotisation cette année
+    Soit une base avec Pierre qui n'a pas payé sa cotisation cette année
     Lorsque j'exécute list-emails
     Alors la sortie doit être vide
 
@@ -36,7 +36,7 @@ Fonctionnalité: obtenir les emails des membres à jour de cotisations
       """
 
   Scénario: Des membres à jour et d'autres pas
-    Soit une base avec Pierre, qui n'a pas payé sa cotisation cette année
+    Soit une base avec Pierre qui n'a pas payé sa cotisation cette année
     Et avec Jane, à jour de cotisation
     Et avec Fatima, à jour de cotisation
     Lorsque j'exécute list-emails
index ce9c5daa6c89e7756a69ea90fac3f7c29bc9e565..54bc747ed69826d35fae7a1b23bc5d8cc4658665 100644 (file)
@@ -10,8 +10,8 @@ Then /^je dois voir comme erreur "(.*?)"$/ do |expected|
   assert_failing_with(expected)
 end
 
-Then /^la sortie doit-être vide$/ do
-  expect(all_output).to be_empty
+Then /^la sortie doit être vide$/ do
+  assert_exact_output('', all_stdout)
 end
 
 Then /^la sortie doit être:$/ do |expected|
index 62306e914af944a6f38144423d06a779f87ede17..571a2c2176fcd1aea20d4173a7ef8a92f4236d1f 100644 (file)
@@ -1,14 +1,22 @@
+#-*- coding: utf-8 -*-
+
 Given /une base de membres vide$/ do
   create_dir 'Membres'
 end
 
-Given /^une base avec (\w+), à jour de cotisation$/ do |name|
+Given /^une base avec (\w+)(, à jour de cotisation| qui n'a pas payé sa cotisation cette année)$/ do |name, uptodate|
+  case uptodate
+  when ', à jour de cotisation'
+    # ± 1 month ago
+    paid_on = (Time.now - 3600*24*30).strftime('%Y-%m-%d')
+  else
+    # ± 15 months ago
+    paid_on = (Time.now - 3600*24*30*15).strftime('%Y-%m-%d')
+  end
   data = { 'name' => name,
            'address' => "At #{name}",
            'email' => "#{name.downcase}@example.org",
-           'membership_fee_paid_on' =>
-              # one month ago
-              (Time.now - 3600*24*30).strftime('%Y-%m-%d')
+           'membership_fee_paid_on' => paid_on
          }
   create_dir 'Membres'
   file = subscription_filename_for_id(new_id)
index e647e2f1cad74bbf1dfab03a69b55059e80162cd..afaec3321dc3504272dd6f073350a21790616e4d 100644 (file)
@@ -13,6 +13,7 @@ Before do
   ENV['GIT_COMMITTER_EMAIL'] = ENV['GIT_AUTHOR_EMAIL'] = 'test@example.org'
   @tmpdir = Dir.mktmpdir('gestion-adh')
   @dirs = [@tmpdir]
+  @aruba_io_wait_seconds = 0.5
 end
 
 After do