Skip to content

Commit e353906

Browse files
committed
Improve adapter test coverage per groyoh
1 parent 25c9df0 commit e353906

File tree

4 files changed

+41
-3
lines changed

4 files changed

+41
-3
lines changed

docs/rfcs/0000-namespace.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ at the first moment.
7070
## Renaming of class and modules
7171

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

lib/active_model/serializer.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ class Serializer
2323
include Links
2424
include Meta
2525
include Type
26-
# Deprecated
27-
require 'active_model_serializers/adapter'
2826

2927
# @param resource [ActiveRecord::Base, ActiveModelSerializers::Model]
3028
# @return [ActiveModel::Serializer]

lib/active_model_serializers.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ module ActiveModelSerializers
99
autoload :Deserialization
1010
autoload :Logging
1111
autoload :Test
12+
autoload :Adapter
1213

1314
class << self; attr_accessor :logger; end
1415
self.logger = ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT))

test/active_model_serializers/adapter_for_test.rb

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ def teardown
1010
ActiveModelSerializers.config.adapter = @previous_adapter
1111
end
1212

13+
def test_serializer_adapter_returns_configured__adapter
14+
assert_output(nil, /ActiveModelSerializers::configured_adapter/) do
15+
assert_equal ActiveModelSerializers::Adapter.configured_adapter, ActiveModel::Serializer.adapter
16+
end
17+
end
18+
1319
def test_returns_default_adapter
1420
adapter = ActiveModelSerializers::Adapter.configured_adapter
1521
assert_equal ActiveModelSerializers::Adapter::Attributes, adapter
@@ -24,11 +30,40 @@ def test_overwrite_adapter_with_symbol
2430
ActiveModelSerializers.config.adapter = @previous_adapter
2531
end
2632

33+
def test_overwrite_adapter_with_camelcased_symbol
34+
ActiveModelSerializers.config.adapter = :JsonApi
35+
36+
adapter = ActiveModelSerializers::Adapter.configured_adapter
37+
assert_equal ActiveModelSerializers::Adapter::JsonApi, adapter
38+
ensure
39+
ActiveModelSerializers.config.adapter = @previous_adapter
40+
end
41+
42+
def test_overwrite_adapter_with_string
43+
ActiveModelSerializers.config.adapter = 'json_api'
44+
45+
adapter = ActiveModelSerializers::Adapter.configured_adapter
46+
assert_equal ActiveModelSerializers::Adapter::JsonApi, adapter
47+
ensure
48+
ActiveModelSerializers.config.adapter = @previous_adapter
49+
end
50+
51+
def test_overwrite_adapter_with_a_camelcased_string
52+
ActiveModelSerializers.config.adapter = 'JsonApi'
53+
54+
adapter = ActiveModelSerializers::Adapter.configured_adapter
55+
assert_equal ActiveModelSerializers::Adapter::JsonApi, adapter
56+
ensure
57+
ActiveModelSerializers.config.adapter = @previous_adapter
58+
end
59+
2760
def test_overwrite_adapter_with_class
2861
ActiveModelSerializers.config.adapter = ActiveModelSerializers::Adapter::Null
2962

3063
adapter = ActiveModelSerializers::Adapter.configured_adapter
3164
assert_equal ActiveModelSerializers::Adapter::Null, adapter
65+
ensure
66+
ActiveModelSerializers.config.adapter = @previous_adapter
3267
end
3368

3469
def test_raises_exception_if_invalid_symbol_given
@@ -37,6 +72,8 @@ def test_raises_exception_if_invalid_symbol_given
3772
assert_raises UnknownAdapterError do
3873
ActiveModelSerializers::Adapter.configured_adapter
3974
end
75+
ensure
76+
ActiveModelSerializers.config.adapter = @previous_adapter
4077
end
4178

4279
def test_raises_exception_if_it_does_not_know_hot_to_infer_adapter
@@ -45,6 +82,8 @@ def test_raises_exception_if_it_does_not_know_hot_to_infer_adapter
4582
assert_raises UnknownAdapterError do
4683
ActiveModelSerializers::Adapter.configured_adapter
4784
end
85+
ensure
86+
ActiveModelSerializers.config.adapter = @previous_adapter
4887
end
4988

5089
def test_adapter_class_for_known_adapter

0 commit comments

Comments
 (0)