]> git.openstreetmap.org Git - rails.git/blobdiff - test/controllers/changeset_controller_test.rb
Avoid relying on the order in which emails are sent
[rails.git] / test / controllers / changeset_controller_test.rb
index 6a443850ffd5ac9b245c4d1513ae05462dce43b5..1be10ec2a3c9440a3c17a886bbb77e1e6f4c7e92 100644 (file)
@@ -1892,25 +1892,37 @@ EOF
     assert_response :success
 
     assert_difference "ChangesetComment.count", 1 do
-      assert_no_difference "ActionMailer::Base.deliveries.size" do
+      assert_difference "ActionMailer::Base.deliveries.size", 1 do
         post :comment, :id => changesets(:normal_user_subscribed_change).id, :text => "This is a comment"
       end
     end
     assert_response :success
 
+    email = ActionMailer::Base.deliveries.first
+    assert_equal 1, email.to.length
+    assert_equal "[OpenStreetMap] test2 has commented on one of your changesets", email.subject
+    assert_equal "test@openstreetmap.org", email.to.first
+
+    ActionMailer::Base.deliveries.clear
+
     basic_authorization(users(:second_public_user).email, "test")
 
     assert_difference "ChangesetComment.count", 1 do
-      assert_difference "ActionMailer::Base.deliveries.size", 1 do
+      assert_difference "ActionMailer::Base.deliveries.size", 2 do
         post :comment, :id => changesets(:normal_user_subscribed_change).id, :text => "This is a comment"
       end
     end
     assert_response :success
 
-    email = ActionMailer::Base.deliveries.first
+    email = ActionMailer::Base.deliveries.find { |e| e.to.first == "test@openstreetmap.org" }
+    assert_not_nil email
+    assert_equal 1, email.to.length
+    assert_equal "[OpenStreetMap] pulibc_test2 has commented on one of your changesets", email.subject
+
+    email = ActionMailer::Base.deliveries.find { |e| e.to.first == "test@example.com" }
+    assert_not_nil email
     assert_equal 1, email.to.length
     assert_equal "[OpenStreetMap] pulibc_test2 has commented on a changeset you are interested in", email.subject
-    assert_equal "test@example.com", email.to.first
 
     ActionMailer::Base.deliveries.clear
   end