+  run_command_and_stop '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
+  NosOignons.update_ag_subscribers!
+end
+
+When /^(?:que )?j'exécute send-membership-reminders$/ do
+  NosOignons.send_membership_reminders!
+end
+
+When /^(?:que )?j'exécute send-membership-reminders le ([0-9]{4})-([0-9]{2})-([0-9]{2})$/ do |year, month, day|
+  Timecop.travel(Date.new(year.to_i, month.to_i, day.to_i)) do
+    NosOignons.send_membership_reminders!
+  end
+end
+
+When /^j'exécute send\-member\-emails\-to\-advisors$/ do
+  NosOignons.send_member_emails_to_advisors!
+end
+
+When /^j'exécute `create\-membership\-fee\-receipt ([0-9]+) ([0-9,]+)` le ([0-9]{4})-([0-9]{2})-([0-9]{2})$/ do |member, amount, year, month, day|
+  Timecop.travel(Date.new(year.to_i, month.to_i, day.to_i)) do
+    NosOignons.create_membership_fee_receipt!(member, amount)
+  end
+end
+
+When /^j'exécute `(create\-membership\-fee\-receipt.*)`$/ do |cmd|
+  run_command_and_stop cmd, :fail_on_error => false