Improve adapter test coverage per groyoh

This commit is contained in:
Benjamin Fleischer 2016-02-25 23:08:20 -06:00
parent 25c9df0b97
commit e35390623d
4 changed files with 41 additions and 3 deletions

View File

@ -70,7 +70,7 @@ at the first moment.
## Renaming of class and modules ## Renaming of class and modules
When moving some content to the new namespace we can find some names that does When moving some content to the new namespace we can find some names that does
not make much sense like `ActiveModelSerializers::Adapter::JsonApi`. not make much sense like `ActiveModel::Serializer::Adapter::JsonApi`.
Discussion of renaming existing classes / modules and JsonApi objects will Discussion of renaming existing classes / modules and JsonApi objects will
happen in separate pull requests, and issues, and in the google doc happen in separate pull requests, and issues, and in the google doc
https://docs.google.com/document/d/1rcrJr0sVcazY2Opd_6Kmv1iIwuHbI84s1P_NzFn-05c/edit?usp=sharing https://docs.google.com/document/d/1rcrJr0sVcazY2Opd_6Kmv1iIwuHbI84s1P_NzFn-05c/edit?usp=sharing

View File

@ -23,8 +23,6 @@ module ActiveModel
include Links include Links
include Meta include Meta
include Type include Type
# Deprecated
require 'active_model_serializers/adapter'
# @param resource [ActiveRecord::Base, ActiveModelSerializers::Model] # @param resource [ActiveRecord::Base, ActiveModelSerializers::Model]
# @return [ActiveModel::Serializer] # @return [ActiveModel::Serializer]

View File

@ -9,6 +9,7 @@ module ActiveModelSerializers
autoload :Deserialization autoload :Deserialization
autoload :Logging autoload :Logging
autoload :Test autoload :Test
autoload :Adapter
class << self; attr_accessor :logger; end class << self; attr_accessor :logger; end
self.logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT)) self.logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT))

View File

@ -10,6 +10,12 @@ module ActiveModelSerializers
ActiveModelSerializers.config.adapter = @previous_adapter ActiveModelSerializers.config.adapter = @previous_adapter
end end
def test_serializer_adapter_returns_configured__adapter
assert_output(nil, /ActiveModelSerializers::configured_adapter/) do
assert_equal ActiveModelSerializers::Adapter.configured_adapter, ActiveModel::Serializer.adapter
end
end
def test_returns_default_adapter def test_returns_default_adapter
adapter = ActiveModelSerializers::Adapter.configured_adapter adapter = ActiveModelSerializers::Adapter.configured_adapter
assert_equal ActiveModelSerializers::Adapter::Attributes, adapter assert_equal ActiveModelSerializers::Adapter::Attributes, adapter
@ -24,11 +30,40 @@ module ActiveModelSerializers
ActiveModelSerializers.config.adapter = @previous_adapter ActiveModelSerializers.config.adapter = @previous_adapter
end end
def test_overwrite_adapter_with_camelcased_symbol
ActiveModelSerializers.config.adapter = :JsonApi
adapter = ActiveModelSerializers::Adapter.configured_adapter
assert_equal ActiveModelSerializers::Adapter::JsonApi, adapter
ensure
ActiveModelSerializers.config.adapter = @previous_adapter
end
def test_overwrite_adapter_with_string
ActiveModelSerializers.config.adapter = 'json_api'
adapter = ActiveModelSerializers::Adapter.configured_adapter
assert_equal ActiveModelSerializers::Adapter::JsonApi, adapter
ensure
ActiveModelSerializers.config.adapter = @previous_adapter
end
def test_overwrite_adapter_with_a_camelcased_string
ActiveModelSerializers.config.adapter = 'JsonApi'
adapter = ActiveModelSerializers::Adapter.configured_adapter
assert_equal ActiveModelSerializers::Adapter::JsonApi, adapter
ensure
ActiveModelSerializers.config.adapter = @previous_adapter
end
def test_overwrite_adapter_with_class def test_overwrite_adapter_with_class
ActiveModelSerializers.config.adapter = ActiveModelSerializers::Adapter::Null ActiveModelSerializers.config.adapter = ActiveModelSerializers::Adapter::Null
adapter = ActiveModelSerializers::Adapter.configured_adapter adapter = ActiveModelSerializers::Adapter.configured_adapter
assert_equal ActiveModelSerializers::Adapter::Null, adapter assert_equal ActiveModelSerializers::Adapter::Null, adapter
ensure
ActiveModelSerializers.config.adapter = @previous_adapter
end end
def test_raises_exception_if_invalid_symbol_given def test_raises_exception_if_invalid_symbol_given
@ -37,6 +72,8 @@ module ActiveModelSerializers
assert_raises UnknownAdapterError do assert_raises UnknownAdapterError do
ActiveModelSerializers::Adapter.configured_adapter ActiveModelSerializers::Adapter.configured_adapter
end end
ensure
ActiveModelSerializers.config.adapter = @previous_adapter
end end
def test_raises_exception_if_it_does_not_know_hot_to_infer_adapter def test_raises_exception_if_it_does_not_know_hot_to_infer_adapter
@ -45,6 +82,8 @@ module ActiveModelSerializers
assert_raises UnknownAdapterError do assert_raises UnknownAdapterError do
ActiveModelSerializers::Adapter.configured_adapter ActiveModelSerializers::Adapter.configured_adapter
end end
ensure
ActiveModelSerializers.config.adapter = @previous_adapter
end end
def test_adapter_class_for_known_adapter def test_adapter_class_for_known_adapter