]> nos-oignons.net Git - gestion-adh.git/blobdiff - features/step_definitions/subscriptions.rb
Finish implementing list-emails
[gestion-adh.git] / features / step_definitions / subscriptions.rb
index 76a4a1a1b179ab179a361c5f3f8d30e3bf4e9ce2..a4827f51ca8446c6228a503605f353487e58ad21 100644 (file)
@@ -1,3 +1,28 @@
+#-*- coding: utf-8 -*-
+
+Given /une base de membres vide$/ do
+  create_dir 'Membres'
+end
+
+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' => paid_on
+         }
+  create_dir 'Membres'
+  file = subscription_filename_for_id(new_id)
+  write_file file, render_subscription_file(data)
+end
+
 When /^j'ajoute une fiche correcte pour une nouvelle adhésion$/ do
   @file = subscription_filename_for_id(new_id)
   write_file @file, render_subscription_file(EXTRA_SUBSCRIPTION)
@@ -7,3 +32,69 @@ When /^j'ajoute une fiche vide$/ do
   @file = subscription_filename_for_id(new_id)
   write_file @file, ''
 end
+
+When /^j'ajoute une fiche sans YAML$/ do
+  @file = subscription_filename_for_id(new_id)
+  write_file @file, <<-EOF.gsub(/^    /, '')
+    Ceci est une fiche sans YAML.
+  EOF
+end
+
+When /^j'ajoute une fiche avec du mauvais YAML$/ do
+  @file = subscription_filename_for_id(new_id)
+  write_file @file, <<-EOF.gsub(/^    /, '')
+    ---
+    [This is missing a closing bracket
+    ---
+  EOF
+end
+
+When /^j'ajoute une fiche sans email$/ do
+  @file = subscription_filename_for_id(new_id)
+  write_file @file, <<-EOF.gsub(/^    /, '')
+    ---
+    name: J. Example
+    address: |
+      21 Jump Street
+      42000 Synthé
+    membership_fee_paid_on: 2013-02-20
+    ---
+  EOF
+end
+
+When /^j'ajoute une fiche sans nom$/ do
+  @file = subscription_filename_for_id(new_id)
+  write_file @file, <<-EOF.gsub(/^    /, '')
+    ---
+    email: joe@example.org
+    address: |
+      21 Jump Street
+      42000 Synthé
+    membership_fee_paid_on: 2013-02-20
+    ---
+  EOF
+end
+
+When /^j'ajoute une fiche avec comme date de cotisation "([^"]*)"$/ do |date|
+  @file = subscription_filename_for_id(new_id)
+  write_file @file, <<-EOF.gsub(/^    /, '')
+    ---
+    name: J. Example
+    email: joe@example.org
+    address: |
+      21 Jump Street
+      42000 Synthé
+    membership_fee_paid_on: #{date}
+    ---
+  EOF
+end
+
+When /^je supprime le nom sur une fiche existante$/ do
+  @file = subscription_filename_for_id(1)
+  run_simple "sed -e '/^name:/d' -i #{@file}"
+end
+
+When /^j'ajoute un fichier hors de la base des adhérents$/ do
+  @file = 'test'
+  write_file @file, 'Test content.'
+end