2016-06-04 3 views
1
# model 
class Post < ActiveRecord::Base 
    has_many :comments 
end 

# model spec 
RSpec.describe Post, type: :model do 
    subject { build(:post) } 
    it { is_expected.to have_many(:comments) } 
end 

Вышеприведенный тестовый пример для проверки ассоциации has_many для модели. Точно так же есть ли возможность проверить его для Serializer ?.rspec: подтвердить ассоциацию для сериализаторов

# serializer 
class PostSerializer < ActiveModel::Serializer 
    has_many :comments 
end 

# serializer spec 
RSpec.describe PostSerializer, type: :serializer do 
    let(:serializer) { PostSerializer.new(create(:post)) } 

    # validation for `has_many` association. 
end 

ответ

0

Я не думаю, что есть RSpec matchers для active_model_serializers, который является отдельной третьей стороной камень. Лучше всего использовать сериализатор для генерации хеша с as_json и сравнить результат с результатами тестов.

Смежные вопросы