Sha256: a81d8a5568d5b6c87108db804fe71367fcd446e5e3ef636b795136a9cf53f79f

Contents?: true

Size: 1.37 KB

Versions: 5

Compression:

Stored size: 1.37 KB

Contents

require 'rails_helper'

RSpec.describe <%= resource_klass %>, type: :resource do
  describe 'creating' do
    let(:payload) do
      {
        data: {
          type: '<%= file_name.pluralize %>',
          attributes: { }
        }
      }
    end

    let(:instance) do
      <%= resource_klass %>.build(payload)
    end

    it 'works' do
      expect {
        expect(instance.save).to eq(true)
      }.to change { <%= model_klass %>.count }.by(1)
    end
  end

  describe 'updating' do
    let!(:<%= file_name %>) { create(:<%= file_name %>) }

    let(:payload) do
      {
        data: {
          id: <%= file_name %>.id.to_s,
          type: '<%= file_name.pluralize %>',
          attributes: { } # Todo!
        }
      }
    end

    let(:instance) do
      <%= resource_klass %>.find(payload)
    end

    xit 'works (add some attributes and enable this spec)' do
      expect {
        expect(instance.update_attributes).to eq(true)
      }.to change { <%= file_name %>.reload.updated_at }
      # and change { instance.foo }.to('bar') <- example
    end
  end

  describe 'destroying' do
    let!(:<%= file_name %>) { create(:<%= file_name %>) }

    let(:instance) do
      <%= resource_klass %>.find(id: <%= file_name %>.id)
    end

    it 'works' do
      expect {
        expect(instance.destroy).to eq(true)
      }.to change { <%= model_klass %>.count }.by(-1)
    end
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
graphiti-1.0.alpha.5 lib/generators/jsonapi/templates/resource_writes_spec.rb.erb
graphiti-1.0.alpha.4 lib/generators/jsonapi/templates/resource_writes_spec.rb.erb
graphiti-1.0.alpha.1 lib/generators/jsonapi/templates/resource_writes_spec.rb.erb
graphiti-rb-1.0.alpha.1 lib/generators/jsonapi/templates/resource_writes_spec.rb.erb
jsonapi_compliable-1.0.alpha.2 lib/generators/jsonapi/templates/resource_writes_spec.rb.erb