mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-25 07:16:49 +00:00
Test CachedSerializer#fragment_cached?
This commit is contained in:
82
test/serializers/cached_serializer_test.rb
Normal file
82
test/serializers/cached_serializer_test.rb
Normal file
@@ -0,0 +1,82 @@
|
||||
require 'test_helper'
|
||||
module ActiveModel
|
||||
class Serializer
|
||||
module Adapter
|
||||
class CachedSerializerTest < ActiveSupport::TestCase
|
||||
def test_cached_false_without_cache_store
|
||||
cached_serializer = build do |serializer|
|
||||
serializer._cache = nil
|
||||
end
|
||||
refute cached_serializer.cached?
|
||||
end
|
||||
|
||||
def test_cached_true_with_cache_store_and_without_cache_only_and_cache_except
|
||||
cached_serializer = build do |serializer|
|
||||
serializer._cache = Object
|
||||
end
|
||||
assert cached_serializer.cached?
|
||||
end
|
||||
|
||||
def test_cached_false_with_cache_store_and_with_cache_only
|
||||
cached_serializer = build do |serializer|
|
||||
serializer._cache = Object
|
||||
serializer._cache_only = [:name]
|
||||
end
|
||||
refute cached_serializer.cached?
|
||||
end
|
||||
|
||||
def test_cached_false_with_cache_store_and_with_cache_except
|
||||
cached_serializer = build do |serializer|
|
||||
serializer._cache = Object
|
||||
serializer._cache_except = [:content]
|
||||
end
|
||||
refute cached_serializer.cached?
|
||||
end
|
||||
|
||||
def test_fragment_cached_false_without_cache_store
|
||||
cached_serializer = build do |serializer|
|
||||
serializer._cache = nil
|
||||
serializer._cache_only = [:name]
|
||||
end
|
||||
refute cached_serializer.fragment_cached?
|
||||
end
|
||||
|
||||
def test_fragment_cached_true_with_cache_store_and_cache_only
|
||||
cached_serializer = build do |serializer|
|
||||
serializer._cache = Object
|
||||
serializer._cache_only = [:name]
|
||||
end
|
||||
assert cached_serializer.fragment_cached?
|
||||
end
|
||||
|
||||
def test_fragment_cached_true_with_cache_store_and_cache_except
|
||||
cached_serializer = build do |serializer|
|
||||
serializer._cache = Object
|
||||
serializer._cache_except = [:content]
|
||||
end
|
||||
assert cached_serializer.fragment_cached?
|
||||
end
|
||||
|
||||
def test_fragment_cached_false_with_cache_store_and_cache_except_and_cache_only
|
||||
cached_serializer = build do |serializer|
|
||||
serializer._cache = Object
|
||||
serializer._cache_except = [:content]
|
||||
serializer._cache_only = [:name]
|
||||
end
|
||||
refute cached_serializer.fragment_cached?
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def build
|
||||
serializer = Class.new(ActiveModel::Serializer)
|
||||
serializer._cache_key = nil
|
||||
serializer._cache_options = nil
|
||||
yield serializer if block_given?
|
||||
serializer_instance = serializer.new(Object)
|
||||
ActiveModel::Serializer::Adapter::CachedSerializer.new(serializer_instance)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user