mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 22:36:50 +00:00
50 lines
1.1 KiB
Ruby
50 lines
1.1 KiB
Ruby
require 'test_helper'
|
|
|
|
module ActiveModel
|
|
class Serializer
|
|
class ScopeTest < ActiveModel::TestCase
|
|
def setup
|
|
@serializer = ProfileSerializer.new(nil, scope: current_user)
|
|
end
|
|
|
|
def test_scope
|
|
assert_equal('user', @serializer.scope)
|
|
end
|
|
|
|
private
|
|
|
|
def current_user
|
|
'user'
|
|
end
|
|
end
|
|
|
|
class NestedScopeTest < ActiveModel::TestCase
|
|
def setup
|
|
@association = UserSerializer._associations[:profile]
|
|
@old_association = @association.dup
|
|
@user = User.new({ name: 'Name 1', email: 'mail@server.com', gender: 'M' })
|
|
@user_serializer = UserSerializer.new(@user, scope: 'user')
|
|
end
|
|
|
|
def teardown
|
|
UserSerializer._associations[:profile] = @old_association
|
|
end
|
|
|
|
def test_scope_passed_through
|
|
@association.serializer_from_options = Class.new(ActiveModel::Serializer) do
|
|
def name
|
|
scope
|
|
end
|
|
|
|
attributes :name
|
|
end
|
|
|
|
assert_equal({
|
|
name: 'Name 1', email: 'mail@server.com', profile: { name: 'user' }
|
|
}, @user_serializer.serializable_hash)
|
|
end
|
|
end
|
|
|
|
end
|
|
end
|