mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 06:16:50 +00:00
69 lines
1.6 KiB
Ruby
69 lines
1.6 KiB
Ruby
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
|