class ActionMailerUrlTest
Public Instance Methods
assert_url_for(expected, options, relative = false)
click to toggle source
# File actionmailer/test/url_test.rb, line 68 def assert_url_for(expected, options, relative = false) expected = "http://www.basecamphq.com#{expected}" if expected.start_with?("/") && !relative urls = UrlTestMailer.exercise_url_for(options).body.to_s.chomp.split assert_equal expected, urls.first assert_equal expected, urls.second end
encode(text, charset = "UTF-8")
click to toggle source
# File actionmailer/test/url_test.rb, line 55 def encode(text, charset = "UTF-8") quoted_printable(text, charset) end
new_mail(charset = "UTF-8")
click to toggle source
# File actionmailer/test/url_test.rb, line 59 def new_mail(charset = "UTF-8") mail = Mail.new mail.mime_version = "1.0" if charset mail.content_type ["text", "plain", { "charset" => charset }] end mail end
setup()
click to toggle source
# File actionmailer/test/url_test.rb, line 76 def setup @recipient = "test@localhost" end
test_signed_up_with_url()
click to toggle source
# File actionmailer/test/url_test.rb, line 111 def test_signed_up_with_url UrlTestMailer.delivery_method = :test AppRoutes.draw do ActiveSupport::Deprecation.silence do get ":controller(/:action(/:id))" get "/welcome" => "foo#bar", as: "welcome" end end expected = new_mail expected.to = @recipient expected.subject = "[Signed up] Welcome #{@recipient}" expected.body = "Hello there,\n\nMr. #{@recipient}. Please see our greeting at http://example.com/welcome/greeting http://www.basecamphq.com/welcome\n\n<img src=\"/images/somelogo.png\" />" expected.from = "system@loudthinking.com" expected.date = Time.local(2004, 12, 12) expected.content_type = "text/html" created = nil assert_nothing_raised { created = UrlTestMailer.signed_up_with_url(@recipient) } assert_not_nil created expected.message_id = "<123@456>" created.message_id = "<123@456>" assert_dom_equal expected.encoded, created.encoded assert_nothing_raised { UrlTestMailer.signed_up_with_url(@recipient).deliver_now } assert_not_nil ActionMailer::Base.deliveries.first delivered = ActionMailer::Base.deliveries.first delivered.message_id = "<123@456>" assert_dom_equal expected.encoded, delivered.encoded end
test_url_for()
click to toggle source
# File actionmailer/test/url_test.rb, line 80 def test_url_for UrlTestMailer.delivery_method = :test AppRoutes.draw do ActiveSupport::Deprecation.silence do get ":controller(/:action(/:id))" get "/welcome" => "foo#bar", as: "welcome" get "/dummy_model" => "foo#baz", as: "dummy_model" end end # string assert_url_for "http://foo/", "http://foo/" # symbol assert_url_for "/welcome", :welcome # hash assert_url_for "/a/b/c", controller: "a", action: "b", id: "c" assert_url_for "/a/b/c", { controller: "a", action: "b", id: "c", only_path: true }, true # model assert_url_for "/dummy_model", DummyModel.new # class assert_url_for "/dummy_model", DummyModel # array assert_url_for "/dummy_model" , [DummyModel] end