X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/02aa14ffea55ef5ed4c488588a37d27bbf60f95b..059d39500617ef003def3464edf85ac4381eafad:/test/mailers/user_mailer_test.rb?ds=inline diff --git a/test/mailers/user_mailer_test.rb b/test/mailers/user_mailer_test.rb index 1e3d9cc74..25123b392 100644 --- a/test/mailers/user_mailer_test.rb +++ b/test/mailers/user_mailer_test.rb @@ -15,10 +15,19 @@ class UserMailerTest < ActionMailer::TestCase end email = UserMailer.gpx_success(trace, 100) - assert_match(/one two three/, email.html_part.body.to_s) + assert_match("one, two, three", email.html_part.body.to_s) end - def test_gpx_trace_link + 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}']" + 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) @@ -27,6 +36,15 @@ class UserMailerTest < ActionMailer::TestCase assert_select body, "a[href='#{url}']", :text => trace.name 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 + end + def test_html_encoding user = create(:user, :display_name => "Jack & Jill
") message = create(:message, :sender => user) @@ -35,4 +53,34 @@ class UserMailerTest < ActionMailer::TestCase assert_match("Jack & Jill
", email.text_part.body.to_s) assert_match("Jack & Jill <br>", email.html_part.body.to_s) end + + def test_diary_comment_notification + create(:language, :code => "en") + user = create(:user) + other_user = create(:user) + diary_entry = create(:diary_entry, :user => user) + diary_comment = create(:diary_comment, :diary_entry => diary_entry) + email = UserMailer.diary_comment_notification(diary_comment, other_user) + body = Rails::Dom::Testing.html_document_fragment.parse(email.html_part.body) + + url = Rails.application.routes.url_helpers.diary_entry_url(user, diary_entry, :host => Settings.server_url, :protocol => Settings.server_protocol) + unsubscribe_url = Rails.application.routes.url_helpers.diary_entry_unsubscribe_url(user, diary_entry, :host => Settings.server_url, :protocol => Settings.server_protocol) + 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