X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/56600b29315c9b6902964f7f4742588e6cd4ee55..84a3a41531cd283ddfe5a86de1a0656c8cdd2185:/test/mailers/user_mailer_test.rb

diff --git a/test/mailers/user_mailer_test.rb b/test/mailers/user_mailer_test.rb
index 25123b392..9b895c475 100644
--- a/test/mailers/user_mailer_test.rb
+++ b/test/mailers/user_mailer_test.rb
@@ -10,39 +10,43 @@ class UserMailerTest < ActionMailer::TestCase
   def test_gpx_description_tags
     trace = create(:trace) do |t|
       create(:tracetag, :trace => t, :tag => "one")
-      create(:tracetag, :trace => t, :tag => "two")
-      create(:tracetag, :trace => t, :tag => "three")
+      create(:tracetag, :trace => t, :tag => "two&three")
+      create(:tracetag, :trace => t, :tag => "four<five")
     end
     email = UserMailer.gpx_success(trace, 100)
 
-    assert_match("<em>one</em>, <em>two</em>, <em>three</em>", email.html_part.body.to_s)
+    assert_match("one, two&amp;three, four&lt;five", email.html_part.body.to_s)
+    assert_match("one, two&three, four<five", email.text_part.body.to_s)
   end
 
   def test_gpx_success_all_traces_link
     trace = create(:trace)
     email = UserMailer.gpx_success(trace, 100)
-    body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body)
-
     url = Rails.application.routes.url_helpers.url_for(:controller => "traces", :action => "mine", :host => Settings.server_url, :protocol => Settings.server_protocol)
-    assert_select body, "a[href='#{url}']"
+
+    assert_select Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body),
+                  "a[href='#{url}']"
+    assert_includes email.text_part.body, url
   end
 
   def test_gpx_success_trace_link
     trace = create(:trace)
     email = UserMailer.gpx_success(trace, 100)
-    body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body)
-
     url = Rails.application.routes.url_helpers.show_trace_url(trace.user, trace, :host => Settings.server_url, :protocol => Settings.server_protocol)
-    assert_select body, "a[href='#{url}']", :text => trace.name
+
+    assert_select Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body),
+                  "a[href='#{url}']", :text => trace.name
+    assert_includes email.text_part.body, url
   end
 
   def test_gpx_failure_no_trace_link
     trace = create(:trace)
     email = UserMailer.gpx_failure(trace, "some error")
-    body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body)
-
     url = Rails.application.routes.url_helpers.show_trace_url(trace.user, trace, :host => Settings.server_url, :protocol => Settings.server_protocol)
-    assert_select body, "a[href='#{url}']", :count => 0
+
+    assert_select Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body),
+                  "a[href='#{url}']", :count => 0
+    assert_not_includes email.text_part.body, url
   end
 
   def test_html_encoding
@@ -79,7 +83,7 @@ class UserMailerTest < ActionMailer::TestCase
     body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body)
 
     url = Rails.application.routes.url_helpers.changeset_url(changeset, :host => Settings.server_url, :protocol => Settings.server_protocol)
-    unsubscribe_url = Rails.application.routes.url_helpers.unsubscribe_changeset_url(changeset, :host => Settings.server_url, :protocol => Settings.server_protocol)
+    unsubscribe_url = Rails.application.routes.url_helpers.changeset_subscription_url(changeset, :host => Settings.server_url, :protocol => Settings.server_protocol)
     assert_select body, "a[href^='#{url}']"
     assert_select body, "a[href='#{unsubscribe_url}']", :count => 1
   end