X-Git-Url: https://nos-oignons.net/gitweb/gestion-adh.git/blobdiff_plain/7b61f25dd1ca4b324b85ab90ca891c5d5495c6cc..5bd4880f2c15cc97cfde3b8714c5ad900f1f5f1b:/features/step_definitions/emails.rb diff --git a/features/step_definitions/emails.rb b/features/step_definitions/emails.rb index 2bbecd3..9452d38 100644 --- a/features/step_definitions/emails.rb +++ b/features/step_definitions/emails.rb @@ -1,11 +1,27 @@ #-*- 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 . Then /^aucun email ne doit avoir été envoyé$/ do - Mail::TestMailer.deliveries.should be_empty + expect(Mail::TestMailer.deliveries.size).to eq(0) end Then /^un appel pour la cotisation doit avoir été envoyé$/ do - Mail::TestMailer.deliveries.should have(1).email + expect(Mail::TestMailer.deliveries.size).to eq(1) mail = Mail::TestMailer.deliveries.first expect(mail.from).to eql([NosOignons::BOARD_EMAIL]) expect(mail.to).to eql([@last_member['email']]) @@ -25,11 +41,19 @@ Then /^un (premier|dernier) rappel pour la cotisation doit avoir été envoyé$/ end Then /^(\d+) emails? (?:doit|doivent) avoir été envoyés?$/ do |count| - Mail::TestMailer.deliveries.should have(count).email + expect(Mail::TestMailer.deliveries.size).to eq(count.to_i) +end + +Then /^des emails doivent avoir été envoyés à Jane, Fatima, Fred et Moly$/ do + recipients = Mail::TestMailer.deliveries.collect(&:to) + expect(recipients).to include(['jane@example.org']) + expect(recipients).to include(['fatima@example.org']) + expect(recipients).to include(['fred@example.org']) + expect(recipients).to include(['moly@example.org']) end Then /^un email doit avoir été envoyé au comité de déontologie$/ do - expect(Mail::TestMailer.deliveries).to have(1).email + expect(Mail::TestMailer.deliveries.size).to eq(1) expect(Mail::TestMailer.deliveries.first.to).to include('deontologie@nos-oignons.net') end @@ -38,3 +62,15 @@ Then /^il doit contenir les adresses emails de Jane et Fred$/ do expect(Mail::TestMailer.deliveries.first.body).to include('fred@example.org') end +Then /^l'appel pour la cotisation doit demander confirmation de l'adresse postale$/ do + mail = Mail::TestMailer.deliveries.first + expect(mail.body).to include("vérifier que l'adresse postale") + expect(mail.body).to include(@last_member['address']) +end + + +Then /^l'appel pour la cotisation ne doit pas parler de l'adresse postale$/ do + mail = Mail::TestMailer.deliveries.first + expect(mail.body).to_not include("vérifier que l'adresse postale") +end +