Sha256: 5bedc3185972720f903fb11c5ea7fa0868a0d6df040ee4c8c56639937dc1e089

Contents?: true

Size: 1.06 KB

Versions: 9

Compression:

Stored size: 1.06 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
    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

9 entries across 9 versions & 1 rubygems

Version Path
buttercms-ruby-1.9 spec/lib/butter-ruby_spec.rb
buttercms-ruby-1.8 spec/lib/butter-ruby_spec.rb
buttercms-ruby-1.7 spec/lib/butter-ruby_spec.rb
buttercms-ruby-1.6 spec/lib/butter-ruby_spec.rb
buttercms-ruby-1.5 spec/lib/butter-ruby_spec.rb
buttercms-ruby-1.4 spec/lib/butter-ruby_spec.rb
buttercms-ruby-1.3.2 spec/lib/butter-ruby_spec.rb
buttercms-ruby-1.3.1 spec/lib/butter-ruby_spec.rb
buttercms-ruby-1.3.0 spec/lib/butter-ruby_spec.rb