2016-06-04 11 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 

Obiges ist der Testfall die has_many Vereinigung für Modell zu validieren. Gibt es auch eine Option, um diese für den Serializer zu validieren?rspec: Validieren Vereinigung für Serialisierer

# 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 

Antwort

0

Ich glaube nicht, gibt es RSpec für active_model_serializers Matcher, die ein separates Dritt Juwel. Am besten verwenden Sie den Serializer, um einen Hash mit as_json zu generieren und das Ergebnis in Ihren Tests zu vergleichen.