提交 063bc008 编写于 作者: R Rafael França

Merge pull request #24589 from vipulnsward/am-fragment-cache

Expand on Action Mailer Fragment caching tests
......@@ -125,15 +125,16 @@ def test_fragment_caching
expected_body = "\"Welcome\""
assert_match expected_body, email.body.encoded
assert_match "\"Welcome\"",
assert_match expected_body,
@store.read("views/caching/#{template_digest("caching_mailer/fragment_cache")}")
end
def test_fragment_caching_in_partials
email = @mailer.fragment_cache_in_partials
assert_match(/Old fragment caching in a partial/, email.body.encoded)
expected_body = 'Old fragment caching in a partial'
assert_match(expected_body, email.body.encoded)
assert_match("Old fragment caching in a partial",
assert_match(expected_body,
@store.read("views/caching/#{template_digest("caching_mailer/_partial")}"))
end
......@@ -145,6 +146,47 @@ def test_skip_fragment_cache_digesting
assert_match expected_body, @store.read("views/no_digest")
end
def test_fragment_caching_options
time = Time.now
email = @mailer.fragment_caching_options
expected_body = "No Digest"
assert_match expected_body, email.body.encoded
Time.stub(:now, time + 11) do
assert_nil @store.read("views/no_digest")
end
end
def test_multipart_fragment_caching
email = @mailer.multipart_cache
expected_text_body = "\"Welcome text\""
expected_html_body = "\"Welcome html\""
encoded_body = email.body.encoded
assert_match expected_text_body, encoded_body
assert_match expected_html_body, encoded_body
assert_match expected_text_body,
@store.read("views/text_caching")
assert_match expected_html_body,
@store.read("views/html_caching")
end
def test_fragment_cache_instrumentation
payload = nil
subscriber = proc do |*args|
event = ActiveSupport::Notifications::Event.new(*args)
payload = event.payload
end
ActiveSupport::Notifications.subscribed(subscriber, "read_fragment.action_mailer") do
@mailer.fragment_cache
end
assert_equal "caching_mailer", payload[:mailer]
assert_equal "views/caching/#{template_digest("caching_mailer/fragment_cache")}", payload[:key]
end
private
def template_digest(name)
......
<%= cache :no_digest, skip_digest: true, expires_in: 0 do %>
No Digest
<% end %>
<% cache :html_caching, skip_digest: true do %>
"Welcome html"
<% end %>
<% cache :text_caching, skip_digest: true do %>
"Welcome text"
<% end %>
......@@ -12,4 +12,12 @@ def fragment_cache_in_partials
def skip_fragment_cache_digesting
mail(subject: "welcome", template_name: "skip_fragment_cache_digesting")
end
def fragment_caching_options
mail(subject: "welcome", template_name: "fragment_caching_options")
end
def multipart_cache
mail(subject: "welcome", template_name: "multipart_cache")
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册