Sha256: 4c4d7a2ea0ec5f015b8c637214f50e741e69e7514785ae9857be3d1575dedcd3

Contents?: true

Size: 1.74 KB

Versions: 140

Compression:

Stored size: 1.74 KB

Contents

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
    describe 'by id' do
      let!(:<%= var %>1) { create(:<%= var %>) }
      let!(:<%= var %>2) { create(:<%= var %>) }

      context 'when ascending' do
        before do
          params[:sort] = 'id'
        end

        it 'works' do
          render
          expect(d.map(&:id)).to eq([
            <%= var %>1.id,
            <%= var %>2.id
          ])
        end
      end

      context 'when descending' do
        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
  <%- end -%>

  describe 'sideloading' do
    # ... your tests ...
  end
end

Version data entries

140 entries across 140 versions & 2 rubygems

Version Path
graphiti-1.8.1 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.8.0 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.9 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.8 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.7 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.6 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.5 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.4 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.3 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.2 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.1 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.7.0 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.6.4 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.6.3 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.6.2 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.6.1 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.6.0 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.5.3 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.5.2 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb
graphiti-1.5.1 deprecated_generators/graphiti/templates/resource_reads_spec.rb.erb