diff --git a/spec/support/email_helpers.rb b/spec/support/email_helpers.rb index dfb252544e7965a3bb0a786f93e5563401e67ebf..2931967de359fbcac6227cb03dac588ea39f448c 100644 --- a/spec/support/email_helpers.rb +++ b/spec/support/email_helpers.rb @@ -1,6 +1,8 @@ module EmailHelpers - def sent_to_user?(user) - ActionMailer::Base.deliveries.flat_map(&:to).count(user.email) == 1 + def sent_to_user?(user, recipients = nil) + recipients ||= ActionMailer::Base.deliveries.flat_map(&:to) + + recipients.count(user.email) == 1 end def reset_delivered_emails! @@ -8,17 +10,19 @@ module EmailHelpers end def should_only_email(*users) - users.each {|user| should_email(user) } recipients = ActionMailer::Base.deliveries.flat_map(&:to) + + users.each { |user| should_email(user, recipients) } + expect(recipients.count).to eq(users.count) end - def should_email(user) - expect(sent_to_user?(user)).to be_truthy + def should_email(user, recipients = nil) + expect(sent_to_user?(user, recipients)).to be_truthy end - def should_not_email(user) - expect(sent_to_user?(user)).to be_falsey + def should_not_email(user, recipients = nil) + expect(sent_to_user?(user, recipients)).to be_falsey end def should_email_no_one