Test plaintext trace emails

This commit is contained in:
Anton Khorev 2024-08-01 19:07:00 +03:00
parent 62af3d8745
commit 05ae8d2e27

View file

@ -16,33 +16,37 @@ class UserMailerTest < ActionMailer::TestCase
email = UserMailer.gpx_success(trace, 100)
assert_match("<em>one</em>, <em>two&amp;three</em>, <em>four&lt;five</em>", 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