]> nos-oignons.net Git - gestion-adh.git/commitdiff
Continue implementing list-emails
authorLunar <lunar@anargeek.net>
Sat, 1 Jun 2013 10:13:56 +0000 (12:13 +0200)
committerLunar <lunar@anargeek.net>
Sat, 1 Jun 2013 10:13:56 +0000 (12:13 +0200)
bin/list-emails
features/step_definitions/commands.rb
features/step_definitions/subscriptions.rb
features/support/fixtures.rb
lib/nos_oignons/subscriptions.rb

index 5d3fb7457dacc50c5d96ad4359989e09be037a52..569571efdde8ff8cdb371031e46c6059a1914cb3 100755 (executable)
@@ -4,3 +4,10 @@
 require 'rubygems'
 require 'bundler'
 Bundler.setup
 require 'rubygems'
 require 'bundler'
 Bundler.setup
+
+require 'nos_oignons/subscriptions'
+
+subscriptions = read_subscriptions
+subscriptions.each_pair do |subscription_id, data|
+  puts data['email']
+end
index ae6d798a4369ce2d015ba5c23385d186b120a6dd..ce9c5daa6c89e7756a69ea90fac3f7c29bc9e565 100644 (file)
@@ -13,3 +13,8 @@ end
 Then /^la sortie doit-être vide$/ do
   expect(all_output).to be_empty
 end
 Then /^la sortie doit-être vide$/ do
   expect(all_output).to be_empty
 end
+
+Then /^la sortie doit être:$/ do |expected|
+  # add an extra line feed for nice scenario
+  assert_exact_output(expected + "\n", all_stdout)
+end
index aa3365de3c46b88a5d34a94239afc02278c99a7e..62306e914af944a6f38144423d06a779f87ede17 100644 (file)
@@ -2,6 +2,19 @@ Given /une base de membres vide$/ do
   create_dir 'Membres'
 end
 
   create_dir 'Membres'
 end
 
+Given /^une base avec (\w+), à jour de cotisation$/ do |name|
+  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')
+         }
+  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)
 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)
index 47290c7b953c24db1b1fb92ba71d88dd03780384..2c540364842b149fca41916ce933eb0db0d6cdec 100644 (file)
@@ -70,6 +70,7 @@ def render_subscription_file(locals)
 end
 
 def new_id
 end
 
 def new_id
-  new_id = Dir.glob("#{current_dir}/Membres/*.mdwn").
-    collect { |f| File.basename(f).gsub(/\.mdwn$/, '').to_i }.max + 1
+  max_id = Dir.glob("#{current_dir}/Membres/*.mdwn").
+    collect { |f| File.basename(f).gsub(/\.mdwn$/, '').to_i }.max || 0
+  max_id + 1
 end
 end
index 2c8585e5f0caef627d6e6ea74e41d4a98865917f..a433c8c7fdd6712f59596ad6835dfb4c10060f8d 100644 (file)
@@ -26,3 +26,12 @@ def is_valid_subscription_file?(ref, file)
     is_valid_subscription?(f.read)
   end
 end
     is_valid_subscription?(f.read)
   end
 end
+
+def read_subscriptions
+  subscriptions = {}
+  Dir.glob("#{SUBSCRIPTIONS_ROOT}/*.mdwn") do |file|
+    subscription_id = File.basename(file).gsub(/\.mdwn$/, '')
+    subscriptions[subscription_id] = YAML.load_file(file)
+  end
+  subscriptions
+end