Sha256: ef78738462d18b2a1927165f44d77fcb82f5ee1f6d9ea7e4d280422dc838ee6a
Contents?: true
Size: 1.63 KB
Versions: 5
Compression:
Stored size: 1.63 KB
Contents
require 'spec_helper' require 'routemaster/resources/rest_resource' module Routemaster module Resources RSpec.describe RestResource do let(:client) { double('Client') } let(:params) { {} } before { allow(client).to receive(:with_response).and_yield } describe "singular resource" do let(:url) { '/resources/1' } subject { described_class.new('/resources/{id}', client: client) } 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 '#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 describe "collection resource" do let(:url) { '/resources' } subject { described_class.new('/resources{?page,per_page}', client: client) } 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 '#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 end end end end
Version data entries
5 entries across 5 versions & 1 rubygems