X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/blobdiff_plain/e3849b258d72a17748bd07c931980d382ac88082..163b8390d4b23df988c533e5443a479b64f94264:/features/step_definitions/commands.rb diff --git a/features/step_definitions/commands.rb b/features/step_definitions/commands.rb index 28e0ab3..d4d7ab5 100644 --- a/features/step_definitions/commands.rb +++ b/features/step_definitions/commands.rb @@ -1,7 +1,23 @@ #-*- 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' + run_command_and_stop 'list-emails' end When /^j'exécute list-emails le (\d+)\-(\d+)\-(\d+)$/ do |year, month, day|$/ @@ -18,7 +34,7 @@ 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 @@ -35,27 +51,37 @@ 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, false + run_command_and_stop 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