Rspec for ActiveModel::Serializer 
RSpec matchers for testing integration between Rails' controllers and ActiveModel::Serializer
Installation
Add this lines to your application's Gemfile:
group :test do
gem 'rspec_active_model_serializers'
end
And then execute:
$ bundle
Or install it yourself as:
$ gem install rspec_active_model_serializers
Matchers
render_serializer
Ensures that serializer have been rendered.
require 'rails_helper'
RSpec.describe PostsController, type: :controller do
describe 'GET #index' do
before do
get :index
end
it 'render PostSerializer' do
expect(response).to render_serializer PostSerializer
end
it 'render post serializer' do
expect(response).to render_serializer 'PostSerializer'
end
it 'render post serializer (using symbol)' do
expect(response).to render_serializer :post_serializer
end
it 'rendered serializer class name starts with Post' do
expect(response).to render_serializer %r{\APost.+\Z}
end
it 'no serializer was rendered' do
expect(response).to render_serializer nil
end
end
end
Contributing
- Fork it ( https://github.com/SPBTV/rspec_active_model_serializers/fork )
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request