Try to slightly optimize EmailHeleprs

This commit is contained in:
Lin Jen-Shin 2016-09-19 14:01:58 +08:00
parent 230bae9d48
commit beb47c257a
1 changed files with 11 additions and 7 deletions

View File

@ -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