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
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
"""
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
"""
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
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|
+#-*- 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)
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