X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/53817fa9e8d955df0891d156f21b7269b4ed08fc..86fae8980d97ba7fdd9345eb5e372fd4f8f20b7f:/test/mailers/user_mailer_test.rb?ds=sidebyside diff --git a/test/mailers/user_mailer_test.rb b/test/mailers/user_mailer_test.rb index 998e97330..2a547e752 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 => "fourone, two, three", email.html_part.body.to_s) + assert_match("one, two&three, four<five", email.html_part.body.to_s) + assert_match("one, two&three, four "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 @@ -68,4 +72,19 @@ class UserMailerTest < ActionMailer::TestCase assert_select body, "a[href^='#{url}']" assert_select body, "a[href='#{unsubscribe_url}']", :count => 1 end + + def test_changeset_comment_notification + create(:language, :code => "en") + user = create(:user) + other_user = create(:user) + changeset = create(:changeset, :user => user) + changeset_comment = create(:changeset_comment, :changeset => changeset) + email = UserMailer.changeset_comment_notification(changeset_comment, other_user) + 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) + assert_select body, "a[href^='#{url}']" + assert_select body, "a[href='#{unsubscribe_url}']", :count => 1 + end end