From beb47c257a6673addb44fc6573c176f6be6cbd1b Mon Sep 17 00:00:00 2001
From: Lin Jen-Shin <godfat@godfat.org>
Date: Mon, 19 Sep 2016 14:01:58 +0800
Subject: [PATCH] Try to slightly optimize EmailHeleprs

---
 spec/support/email_helpers.rb | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/spec/support/email_helpers.rb b/spec/support/email_helpers.rb
index dfb252544e7..2931967de35 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
-- 
GitLab