X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/01b72f7adf2b46741f30b7c15ec72fc4e96338d7..e3c88b073660381241bf11ef902d44c4cfbbc1c8:/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 23136951c..751adcd82 100644 --- a/test/mailers/user_mailer_test.rb +++ b/test/mailers/user_mailer_test.rb @@ -6,4 +6,51 @@ class UserMailerTest < ActionMailer::TestCase assert_match(/ t, :tag => "one") + create(:tracetag, :trace => t, :tag => "two") + create(:tracetag, :trace => t, :tag => "three") + end + email = UserMailer.gpx_success(trace, 100) + + assert_match("one, two, three", email.html_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}']" + 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 + 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) + email = UserMailer.message_notification(message) + + assert_match("Jack & Jill
", email.text_part.body.to_s) + assert_match("Jack & Jill <br>", email.html_part.body.to_s) + end end