Given the following ActiveModel::Serializer
class:
class SampleSerializer < ActiveModel::Serializer
attributes :id, :name
end
Example: You can writing this modern style.
Category serializer:
class CategorySerializer < ActiveModel::Serializer
attributes :id, :name
end
RSpec:
require 'rails_helper'
RSpec.describe CategorySerializer, type: :serializer do
let(:category) { FactoryGirl.build(:category) }
let(:serializer) { described_class.new(category) }
let(:serialization) { ActiveModelSerializers::Adapter.create(serializer) }
let(:subject) { JSON.parse(serialization.to_json) }
it 'has an id that matches' do
expect(subject['id']).to eql(category.id)
end
it 'has a name that matches' do
expect(subject['name']).to eql(category.name)
end
end