3 When /^j'exécute list\-emails$/ do
 
   4   run_simple 'list-emails'
 
   7 When /^j'exécute list-emails le (\d+)\-(\d+)\-(\d+)$/ do |year, month, day|$/
 
   8   Timecop.travel(Time.new(year, month, day)) do
 
   9     stdout_io = StringIO.new
 
  12       NosOignons.list_emails!
 
  13       @stdout = stdout_io.string
 
  20 When /^j'exécute update-ag-subscribers$/ do
 
  21   run_simple 'update-ag-subscribers'
 
  24 When /^(?:que )?j'exécute send-membership-reminders$/ do
 
  25   NosOignons.send_membership_reminders!
 
  28 When /^(?:que )?j'exécute send-membership-reminders le ([0-9]{4})-([0-9]{2})-([0-9]{2})$/ do |year, month, day|
 
  29   Timecop.travel(Date.new(year.to_i, month.to_i, day.to_i)) do
 
  30     NosOignons.send_membership_reminders!
 
  34 When /^j'exécute send\-member\-emails\-to\-advisors$/ do
 
  35   NosOignons.send_member_emails_to_advisors!
 
  38 When /^j'exécute `(create\-membership\-fee\-receipt.*)`$/ do |cmd|
 
  42 Then /^je ne dois pas avoir eu d'erreur$/ do
 
  46 Then /^je dois voir comme erreur "(.*?)"$/ do |expected|
 
  47   assert_failing_with(expected)
 
  50 Then /^la sortie doit être vide$/ do
 
  51   assert_exact_output('', @stdout || all_stdout)
 
  54 Then /^la sortie doit être:$/ do |expected|
 
  55   # add an extra line feed for nice scenario
 
  56   assert_exact_output(expected + "\n", @stdout || all_stdout)
 
  59 Then /^la sortie doit être "([^"]*)"$/ do |expected|
 
  60   assert_exact_output(expected, (@stdout || all_stdout).rstrip)