mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-25 15:23:06 +00:00
Rename Settings to Config and use accessors to configure things
This commit is contained in:
67
test/unit/active_model/serializer/config_test.rb
Normal file
67
test/unit/active_model/serializer/config_test.rb
Normal file
@@ -0,0 +1,67 @@
|
||||
require 'test_helper'
|
||||
|
||||
module ActiveModel
|
||||
class Serializer
|
||||
class Config
|
||||
class Test < ActiveModel::TestCase
|
||||
def test_config_const_is_an_instance_of_config
|
||||
assert_kind_of Config, CONFIG
|
||||
end
|
||||
|
||||
def test_config_instance
|
||||
config = Config.new
|
||||
config.setting1 = 'value1'
|
||||
|
||||
assert_equal 'value1', config.setting1
|
||||
end
|
||||
|
||||
def test_each_config
|
||||
config = Config.new
|
||||
config.setting1 = 'value1'
|
||||
config.setting2 = 'value2'
|
||||
|
||||
actual = {}
|
||||
|
||||
config.each do |k, v|
|
||||
actual[k] = v
|
||||
end
|
||||
|
||||
assert_equal({ 'setting1' => 'value1', 'setting2' => 'value2' }, actual)
|
||||
end
|
||||
end
|
||||
|
||||
class SetupTest < ActiveModel::TestCase
|
||||
def test_setup
|
||||
ActiveModel::Serializer.setup do |config|
|
||||
config.a = 'v1'
|
||||
config.b = 'v2'
|
||||
end
|
||||
|
||||
assert_equal 'v1', CONFIG.a
|
||||
assert_equal 'v2', CONFIG.b
|
||||
ensure
|
||||
CONFIG.clear
|
||||
end
|
||||
|
||||
def test_setup_config_accessors
|
||||
ActiveModel::Serializer.setup do |config|
|
||||
config.foo = 'v1'
|
||||
config.bar = 'v2'
|
||||
end
|
||||
|
||||
assert_equal 'v1', CONFIG.foo
|
||||
assert_equal 'v2', CONFIG.bar
|
||||
ensure
|
||||
CONFIG.clear
|
||||
end
|
||||
|
||||
def test_setup_acessor_when_nil
|
||||
assert_nil CONFIG.foo
|
||||
CONFIG.foo = 1
|
||||
assert 1, CONFIG.foo
|
||||
assert_nil CONFIG.bar
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -93,7 +93,7 @@ module ActiveModel
|
||||
'comments' => [{ content: 'C1' }, { content: 'C2' }]
|
||||
}, @post_serializer.as_json)
|
||||
ensure
|
||||
SETTINGS.clear
|
||||
CONFIG.clear
|
||||
end
|
||||
|
||||
def test_associations_using_a_given_serializer
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
require 'test_helper'
|
||||
|
||||
module ActiveModel
|
||||
class Serializer
|
||||
class Settings
|
||||
class Test < ActiveModel::TestCase
|
||||
def test_settings_const_is_an_instance_of_settings
|
||||
assert_kind_of Settings, SETTINGS
|
||||
end
|
||||
|
||||
def test_settings_instance
|
||||
settings = Settings.new
|
||||
settings[:setting1] = 'value1'
|
||||
|
||||
assert_equal 'value1', settings[:setting1]
|
||||
end
|
||||
|
||||
def test_each_settings
|
||||
settings = Settings.new
|
||||
settings['setting1'] = 'value1'
|
||||
settings['setting2'] = 'value2'
|
||||
|
||||
actual = {}
|
||||
|
||||
settings.each do |k, v|
|
||||
actual[k] = v
|
||||
end
|
||||
|
||||
assert_equal({ 'setting1' => 'value1', 'setting2' => 'value2' }, actual)
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
class SetupTest < ActiveModel::TestCase
|
||||
def test_setup
|
||||
ActiveModel::Serializer.setup do |settings|
|
||||
settings[:a] = 'v1'
|
||||
settings[:b] = 'v2'
|
||||
end
|
||||
|
||||
assert_equal 'v1', SETTINGS[:a]
|
||||
assert_equal 'v2', SETTINGS[:b]
|
||||
ensure
|
||||
SETTINGS.clear
|
||||
end
|
||||
|
||||
def test_setup_config_accessors
|
||||
ActiveModel::Serializer.setup do |config|
|
||||
config.foo = 'v1'
|
||||
config.bar = 'v2'
|
||||
end
|
||||
|
||||
assert_equal 'v1', SETTINGS.foo
|
||||
assert_equal 'v2', SETTINGS.bar
|
||||
ensure
|
||||
SETTINGS.clear
|
||||
end
|
||||
|
||||
def test_setup_acessor_when_nil
|
||||
assert_nil SETTINGS.foo
|
||||
SETTINGS.foo = 1
|
||||
assert 1, SETTINGS.foo
|
||||
assert_nil SETTINGS.bar
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user