active_model_serializers/test/serializers/association_macros_test.rb
Артём Большаков 2952a332e0 Associations refactoring
* Move all associations related code from Serializer class to Associations module
* Introduce Reflection class hierarchy
* Introduce Association class
* Rid off Serializer#each_association
* Introduce Serializer#associations enumerator
2015-07-30 11:20:29 +03:00

37 lines
1.0 KiB
Ruby

require 'test_helper'
module ActiveModel
class Serializer
class AssociationMacrosTest < Minitest::Test
AuthorSummarySerializer = Class.new
class AssociationsTestSerializer < Serializer
belongs_to :author, serializer: AuthorSummarySerializer
has_many :comments, embed: :ids
has_one :category
end
def before_setup
@reflections = AssociationsTestSerializer._reflections
end
def test_has_one_defines_reflection
has_one_reflection = HasOneReflection.new(:category, {})
assert_includes(@reflections, has_one_reflection)
end
def test_has_many_defines_reflection
has_many_reflection = HasManyReflection.new(:comments, embed: :ids)
assert_includes(@reflections, has_many_reflection)
end
def test_belongs_to_defines_reflection
belongs_to_reflection = BelongsToReflection.new(:author, serializer: AuthorSummarySerializer)
assert_includes(@reflections, belongs_to_reflection)
end
end
end
end