]> nos-oignons.net Git - gestion-adh.git/blobdiff - features/step_definitions/commands.rb
Implement send-member-emails-to-advisors
[gestion-adh.git] / features / step_definitions / commands.rb
index 54bc747ed69826d35fae7a1b23bc5d8cc4658665..1788c390bc40414506c0ba082f37f8d3e6bedb8d 100644 (file)
@@ -1,7 +1,34 @@
+#-*- coding: utf-8 -*-
+
 When /^j'exécute list\-emails$/ do
   run_simple 'list-emails'
 end
 
+When /^j'exécute list-emails le (\d+)\-(\d+)\-(\d+)$/ do |year, month, day|$/
+  Timecop.travel(Time.new(year, month, day)) do
+    stdout_io = StringIO.new
+    begin
+      $stdout = stdout_io
+      NosOignons.list_emails!
+      @stdout = stdout_io.string
+    ensure
+      $stdout = STDOUT
+    end
+  end
+end
+
+When /^j'exécute update-ag-subscribers$/ do
+  run_simple 'update-ag-subscribers'
+end
+
+When /^(?:que )?j'exécute send-membership-reminders$/ do
+  NosOignons.send_membership_reminders!
+end
+
+When /^j'exécute send\-member\-emails\-to\-advisors$/ do
+  NosOignons.send_member_emails_to_advisors!
+end
+
 Then /^je ne dois pas avoir eu d'erreur$/ do
   assert_exit_status(0)
 end
@@ -11,10 +38,14 @@ Then /^je dois voir comme erreur "(.*?)"$/ do |expected|
 end
 
 Then /^la sortie doit être vide$/ do
-  assert_exact_output('', all_stdout)
+  assert_exact_output('', @stdout || all_stdout)
 end
 
 Then /^la sortie doit être:$/ do |expected|
   # add an extra line feed for nice scenario
-  assert_exact_output(expected + "\n", all_stdout)
+  assert_exact_output(expected + "\n", @stdout || all_stdout)
+end
+
+Then /^la sortie doit être "([^"]*)"$/ do |expected|
+  assert_exact_output(expected, (@stdout || all_stdout).rstrip)
 end