require 'rails_helper' RSpec.describe <%= resource_class %>, type: :resource do describe 'serialization' do let!(:<%= var %>) { create(:<%= var %>) } it 'works' do render data = jsonapi_data[0] expect(data.id).to eq(<%= var %>.id) expect(data.jsonapi_type).to eq('<%= type %>') <%- attributes.each do |a| -%> <%- if [:created_at, :updated_at].include?(a.name.to_sym) -%> expect(data.<%= a.name %>).to eq(datetime(<%= file_name %>.<%= a.name %>)) <%- else -%> expect(data.<%= a.name %>).to eq(<%= file_name %>.<%= a.name %>) <%- end -%> <%- end -%> end end <%- if actions?('index') -%> describe 'filtering' do let!(:<%= var %>1) { create(:<%= var %>) } let!(:<%= var %>2) { create(:<%= var %>) } context 'by id' do before do params[:filter] = { id: { eq: <%= var %>2.id } } end it 'works' do render expect(d.map(&:id)).to eq([<%= var %>2.id]) end end end describe 'sorting' do context 'by id descending' do let!(:<%= var %>1) { create(:<%= var %>) } let!(:<%= var %>2) { create(:<%= var %>) } before do params[:sort] = '-id' end it 'works' do render expect(d.map(&:id)).to eq([ <%= var %>2.id, <%= var %>1.id ]) end end end <%- end -%> describe 'sideloading' do # ... your tests ... end end