Sha256: a29eeae0474ba48224279f410f9059be0b5d90a7d1b486a2347fb42caa376cc0
Contents?: true
Size: 1.52 KB
Versions: 3
Compression:
Stored size: 1.52 KB
Contents
require 'spec_helper' describe ButterCMS do describe '.request' do context 'with an api token' do before do allow(ButterCMS).to receive(:api_token).and_return('test123') end it 'should make an api request' do request = stub_request(:get, "https://api.buttercms.com/v2?auth_token=test123") .to_return(body: JSON.generate({data: {test: 'test'}})) ButterCMS.request('') expect(request).to have_been_made end it "should properly escape paths" do request = stub_request( :get, "https://api.buttercms.com/v2/pages/*/homepage%20en?auth_token=test123" ).to_return(body: JSON.generate({data: {test: 'test'}})) # support leading slashes ButterCMS.request('/pages/*/homepage en') # and no leading slashes ButterCMS.request('pages/*/homepage en') expect(request).to have_been_made.twice end end context 'without an api token' do it 'should throw an argument error' do expect{ ButterCMS.request() }.to raise_error(ArgumentError) end end it "raises NotFound on 404" do allow(ButterCMS).to receive(:api_token).and_return("test123") request = stub_request(:get, %r{/posts/slug/}) .with(query: { auth_token: "test123" }) .to_return(status: 404, body: '{"detail":"Not found."}') expect { ButterCMS.request("/posts/slug/") } .to raise_error(ButterCMS::NotFound) expect(request).to have_been_made end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
buttercms-ruby-2.2 | spec/lib/butter-ruby_spec.rb |
buttercms-ruby-2.1 | spec/lib/butter-ruby_spec.rb |
buttercms-ruby-2.0 | spec/lib/butter-ruby_spec.rb |