Sha256: 90fbc74dadffb3ee6ee7beff83ed7576185a7276defe6a30b9a56018a3819fe6

Contents?: true

Size: 1.33 KB

Versions: 5

Compression:

Stored size: 1.33 KB

Contents

require 'spec_helper'
require 'routemaster/resources/rest_resource'

module Routemaster
  module Resources
    RSpec.describe RestResource do
      let(:url) { 'test_url' }
      let(:client) { double('Client') }
      let(:params) { {} }

      subject { described_class.new(url, client: client) }

      before { allow(client).to receive(:with_response).and_yield }

      describe '#create' do
        it 'posts to the given url' do
          expect(client).to receive(:post).with(url, body: params)
          subject.create(params)
        end
      end

      describe '#show' do
        it 'gets to the given url' do
          expect(client).to receive(:get).with(url, options: { enable_caching: true })
          subject.show(1)
        end
      end

      describe '#index' do
        it 'gets to the given url' do
          expect(client).to receive(:get).with(url, params: {}, options: { enable_caching: false })
          subject.index
        end
      end

      describe '#update' do
        it 'updates the given resource' do
          expect(client).to receive(:patch).with(url, body: params)
          subject.update(1, params)
        end
      end

      describe '#destroy' do
        it 'destroys the given resource' do
          expect(client).to receive(:delete).with(url)
          subject.destroy(1)
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
routemaster-drain-2.4.4 spec/routemaster/resources/rest_resource_spec.rb
routemaster-drain-2.4.3 spec/routemaster/resources/rest_resource_spec.rb
routemaster-drain-2.4.2 spec/routemaster/resources/rest_resource_spec.rb
routemaster-drain-2.4.1 spec/routemaster/resources/rest_resource_spec.rb
routemaster-drain-2.4.0 spec/routemaster/resources/rest_resource_spec.rb