4 @member_db_path = File.join(current_dir, NosOignons::MEMBERS_DB_DIR)
5 ENV['NOS_OIGNONS_BOARD_WIKI_PATH'] = current_dir
6 create_dir @member_db_path
9 def create_new_member(name, joined_on, paid_on)
10 @last_member = { 'name' => name,
11 'address' => "At #{name}",
12 'email' => "#{name.downcase}@example.org",
13 'joined_on' => joined_on,
14 'membership_fee_paid_on' => paid_on
16 init_db unless @member_db_path
17 file = member_filename_for_id(new_id)
18 write_file file, render_member_file(@last_member)
21 Given /une base de membres vide$/ do
25 Given /^(?:une base )?avec (\w+)(, à jour de cotisation| qui n'a pas payé sa cotisation cette année)$/ do |name, uptodate|
27 joined_on = (Time.now - 3600*24*30*15).strftime('%Y-%m-%d')
29 when ', à jour de cotisation'
31 paid_on = (Time.now - 3600*24*30).strftime('%Y-%m-%d')
35 create_new_member(name, joined_on, paid_on)
38 Given /^une base avec (\w+) qui a adhéré le ([0-9-]+) et payé sa dernière cotisation le ([0-9-]+)$/ do |name, joined_on, paid_on|
39 create_new_member(name, joined_on, paid_on)
42 Given /^(?:une base )?avec (\w+) qui doit renouveller sa cotisation d'ici (\d+) jours$/ do |name, days_before_anniversary|
43 paid_on = Time.now.to_date - days_before_anniversary.to_i
45 create_new_member(name, joined_on, paid_on)
48 Given /^une nouvelle adhésion de (\w+)$/ do |name|
49 joined_on = Time.now.strftime('%Y-%m-%d')
50 create_new_member(name, joined_on, joined_on)
53 Given /^elle avait déjà reçu des appels l'année précédente$/ do
54 Timecop.travel(Time.now.to_date - 375) do
55 NosOignons::ReminderDb.instance.record(OpenStruct.new(@last_member))
59 When /^j'ajoute une fiche correcte pour une nouvelle adhésion$/ do
60 @file = member_filename_for_id(new_id)
61 write_file @file, render_member_file(EXTRA_MEMBER)
64 When /^j'ajoute une fiche vide$/ do
65 @file = member_filename_for_id(new_id)
69 When /^j'ajoute une fiche sans YAML$/ do
70 @file = member_filename_for_id(new_id)
71 write_file @file, <<-EOF.gsub(/^ /, '')
72 Ceci est une fiche sans YAML.
76 When /^j'ajoute une fiche avec du mauvais YAML$/ do
77 @file = member_filename_for_id(new_id)
78 write_file @file, <<-EOF.gsub(/^ /, '')
80 [This is missing a closing bracket
85 When /^j'ajoute une fiche sans email$/ do
86 @file = member_filename_for_id(new_id)
87 write_file @file, <<-EOF.gsub(/^ /, '')
94 membership_fee_paid_on: 2013-02-20
99 When /^j'ajoute une fiche sans nom$/ do
100 @file = member_filename_for_id(new_id)
101 write_file @file, <<-EOF.gsub(/^ /, '')
103 email: joe@example.org
107 joined_on: 2013-02-20
108 membership_fee_paid_on: 2013-02-20
113 When /^j'ajoute une fiche avec comme date d'adhésion "([^"]*)"$/ do |date|
114 @file = member_filename_for_id(new_id)
115 write_file @file, <<-EOF.gsub(/^ /, '')
118 email: joe@example.org
123 membership_fee_paid_on: 2013-04-04
128 When /^j'ajoute une fiche avec comme date de cotisation "([^"]*)"$/ do |date|
129 @file = member_filename_for_id(new_id)
130 write_file @file, <<-EOF.gsub(/^ /, '')
133 email: joe@example.org
137 joined_on: 2013-04-04
138 membership_fee_paid_on: #{date}
143 When /^je supprime le nom sur une fiche existante$/ do
144 @file = member_filename_for_id(1)
145 run_simple "sed -e '/^name:/d' -i #{@file}"
148 When /^j'ajoute un fichier hors de la base des adhérents$/ do
150 write_file @file, 'Test content.'