]> nos-oignons.net Git - gestion-adh.git/blob - features/step_definitions/subscriptions.rb
Move script logic into module methods
[gestion-adh.git] / features / step_definitions / subscriptions.rb
1 #-*- coding: utf-8 -*-
2
3 Given /une base de membres vide$/ do
4   create_dir 'Membres'
5 end
6
7 Given /^(?:une base )?avec (\w+)(, à jour de cotisation| qui n'a pas payé sa cotisation cette année)$/ do |name, uptodate|
8   case uptodate
9   when ', à jour de cotisation'
10     # ± 1 month ago
11     paid_on = (Time.now - 3600*24*30).strftime('%Y-%m-%d')
12   else
13     # ± 15 months ago
14     paid_on = (Time.now - 3600*24*30*15).strftime('%Y-%m-%d')
15   end
16   data = { 'name' => name,
17            'address' => "At #{name}",
18            'email' => "#{name.downcase}@example.org",
19            'membership_fee_paid_on' => paid_on
20          }
21   create_dir 'Membres'
22   file = subscription_filename_for_id(new_id)
23   write_file file, render_subscription_file(data)
24 end
25
26 Given /^une nouvelle adhésion de (\w+)$/ do |name|
27   data = { 'name' => name,
28            'address' => "At #{name}",
29            'email' => "#{name.downcase}@example.org",
30            'membership_fee_paid_on' => Time.now.strftime('%Y-%m-%d')
31          }
32   create_dir 'Membres'
33   file = subscription_filename_for_id(new_id)
34   write_file file, render_subscription_file(data)
35 end
36
37 When /^j'ajoute une fiche correcte pour une nouvelle adhésion$/ do
38   @file = subscription_filename_for_id(new_id)
39   write_file @file, render_subscription_file(EXTRA_SUBSCRIPTION)
40 end
41
42 When /^j'ajoute une fiche vide$/ do
43   @file = subscription_filename_for_id(new_id)
44   write_file @file, ''
45 end
46
47 When /^j'ajoute une fiche sans YAML$/ do
48   @file = subscription_filename_for_id(new_id)
49   write_file @file, <<-EOF.gsub(/^    /, '')
50     Ceci est une fiche sans YAML.
51   EOF
52 end
53
54 When /^j'ajoute une fiche avec du mauvais YAML$/ do
55   @file = subscription_filename_for_id(new_id)
56   write_file @file, <<-EOF.gsub(/^    /, '')
57     ---
58     [This is missing a closing bracket
59     ---
60   EOF
61 end
62
63 When /^j'ajoute une fiche sans email$/ do
64   @file = subscription_filename_for_id(new_id)
65   write_file @file, <<-EOF.gsub(/^    /, '')
66     ---
67     name: J. Example
68     address: |
69       21 Jump Street
70       42000 Synthé
71     membership_fee_paid_on: 2013-02-20
72     ---
73   EOF
74 end
75
76 When /^j'ajoute une fiche sans nom$/ do
77   @file = subscription_filename_for_id(new_id)
78   write_file @file, <<-EOF.gsub(/^    /, '')
79     ---
80     email: joe@example.org
81     address: |
82       21 Jump Street
83       42000 Synthé
84     membership_fee_paid_on: 2013-02-20
85     ---
86   EOF
87 end
88
89 When /^j'ajoute une fiche avec comme date de cotisation "([^"]*)"$/ do |date|
90   @file = subscription_filename_for_id(new_id)
91   write_file @file, <<-EOF.gsub(/^    /, '')
92     ---
93     name: J. Example
94     email: joe@example.org
95     address: |
96       21 Jump Street
97       42000 Synthé
98     membership_fee_paid_on: #{date}
99     ---
100   EOF
101 end
102
103 When /^je supprime le nom sur une fiche existante$/ do
104   @file = subscription_filename_for_id(1)
105   run_simple "sed -e '/^name:/d' -i #{@file}"
106 end
107
108 When /^j'ajoute un fichier hors de la base des adhérents$/ do
109   @file = 'test'
110   write_file @file, 'Test content.'
111 end