From 05ae8d2e27b5b984fd5bb44f732ebbc702ecf690 Mon Sep 17 00:00:00 2001 From: Anton Khorev Date: Thu, 1 Aug 2024 19:07:00 +0300 Subject: [PATCH] Test plaintext trace emails --- test/mailers/user_mailer_test.rb | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/test/mailers/user_mailer_test.rb b/test/mailers/user_mailer_test.rb index d0c0e27cc..2a547e752 100644 --- a/test/mailers/user_mailer_test.rb +++ b/test/mailers/user_mailer_test.rb @@ -16,33 +16,37 @@ class UserMailerTest < ActionMailer::TestCase email = UserMailer.gpx_success(trace, 100) 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 -- 2.39.5