X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/blobdiff_plain/7b61f25dd1ca4b324b85ab90ca891c5d5495c6cc..3492c365cb7f85aed18d9575ea0369a927210c4e:/features/step_definitions/commands.rb?ds=sidebyside diff --git a/features/step_definitions/commands.rb b/features/step_definitions/commands.rb index 1788c39..622a44b 100644 --- a/features/step_definitions/commands.rb +++ b/features/step_definitions/commands.rb @@ -1,4 +1,20 @@ #-*- coding: utf-8 -*- +# +# Système de gestion des adhésions de Nos oignons +# Copyright © 2013-2014 Nos oignons +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . When /^j'exécute list\-emails$/ do run_simple 'list-emails' @@ -18,34 +34,54 @@ When /^j'exécute list-emails le (\d+)\-(\d+)\-(\d+)$/ do |year, month, day|$/ end When /^j'exécute update-ag-subscribers$/ do - run_simple 'update-ag-subscribers' + 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_simple cmd, :fail_on_error => false +end + Then /^je ne dois pas avoir eu d'erreur$/ do - assert_exit_status(0) + expect(last_command_started).to have_exit_status(0) end Then /^je dois voir comme erreur "(.*?)"$/ do |expected| - assert_failing_with(expected) + expect(last_command_started).to have_output_on_stderr /#{Regexp.escape(expected)}/ end Then /^la sortie doit être vide$/ do - assert_exact_output('', @stdout || all_stdout) + expect(last_command_started).to have_output_on_stdout('') end Then /^la sortie doit être:$/ do |expected| # add an extra line feed for nice scenario - assert_exact_output(expected + "\n", @stdout || all_stdout) + expect(last_command_started).to have_output_on_stdout(expected) end Then /^la sortie doit être "([^"]*)"$/ do |expected| - assert_exact_output(expected, (@stdout || all_stdout).rstrip) + begin + expect(last_command_started).to have_output_on_stdout(expected) + rescue Aruba::NoCommandHasBeenStartedError + expect(@stdout.rstrip).to eq(expected) + end end