X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/blobdiff_plain/1f64529f4e2b7029fb21541f84711409fd5fc7f9..ca6d8508a37e5540877066876a2714a6d0afe799:/features/step_definitions/commands.rb diff --git a/features/step_definitions/commands.rb b/features/step_definitions/commands.rb index c9b6f8d..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,38 +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\-reciept.*)`$/ do |cmd| - run_simple cmd, false +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 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