Sha256: c8f617ac9adf84c8ae053db2c2ecf495bb6fe387c54ec78cef5ae08df23952b0

Contents?: true

Size: 1.91 KB

Versions: 101

Compression:

Stored size: 1.91 KB

Contents

require 'spec_helper'

describe Acfs::Request do
  let(:url)     { 'http://api.example.org/v1/examples' }
  let(:headers) { nil }
  let(:params)  { nil }
  let(:data)    { nil }
  let(:method)  { :get }
  let(:options) { {method: method, headers: headers, params: params, data: data} }
  let(:request) { Acfs::Request.new(url, options) }

  describe '#url' do
    it 'should return request URL' do
      expect(request.url).to be == url
    end

    context 'with parameters' do
      let(:params) { { id: 10 }}

      it 'should return URL without query' do
        expect(request.url).to be == "#{url}"
      end
    end

    context 'with parameters in URL' do
      let(:url) { 'http://api.example.org/v1/examples?b=ac' }
      let(:params) { { id: 10 }}

      it 'should strip query from URL' do
        expect(request.url).to be == 'http://api.example.org/v1/examples'
      end
    end
  end

  describe '#headers' do
    let(:headers) { { 'Accept' => 'application/json' } }

    it 'should return request headers' do
      expect(request.headers).to be == headers
    end
  end

  describe '#method' do
    context 'when nil given' do
      let(:method) { nil }

      it 'should default to :get' do
        expect(request.method).to be == :get
      end
    end

    it 'should return request method' do
      expect(request.method).to be == method
    end
  end

  describe '#params' do
    let(:params) { { id: 10 }}

    it 'should return request headers' do
      expect(request.params).to be == params
    end
  end

  describe '#data' do
    let(:data) { { id: 10, name: 'Anon' } }

    it 'should return request data' do
      expect(request.data).to be == data
    end
  end

  describe '#data' do
    context 'with data' do
      let(:data) { { id: 10, name: 'Anon' } }

      it { expect(request).to be_data }
    end

    context 'without data' do
      let(:data) { nil }

      it { expect(request).to_not be_data }
    end
  end
end

Version data entries

101 entries across 101 versions & 1 rubygems

Version Path
acfs-0.34.0.1.b286 spec/acfs/request_spec.rb
acfs-0.34.0 spec/acfs/request_spec.rb
acfs-0.33.1.1.b285 spec/acfs/request_spec.rb
acfs-0.33.1.1.b281 spec/acfs/request_spec.rb
acfs-0.33.1 spec/acfs/request_spec.rb
acfs-0.33.0.1.b278 spec/acfs/request_spec.rb
acfs-0.33.0 spec/acfs/request_spec.rb
acfs-0.32.1.1.b277 spec/acfs/request_spec.rb
acfs-0.32.1.1.b276 spec/acfs/request_spec.rb
acfs-0.32.1.1.b275 spec/acfs/request_spec.rb
acfs-0.32.1.1.b274 spec/acfs/request_spec.rb
acfs-0.32.1.1.b272 spec/acfs/request_spec.rb
acfs-0.32.1 spec/acfs/request_spec.rb
acfs-0.32.0.1.b270 spec/acfs/request_spec.rb
acfs-0.31.0.1.b269 spec/acfs/request_spec.rb
acfs-0.32.0 spec/acfs/request_spec.rb
acfs-0.31.0.1.b265 spec/acfs/request_spec.rb
acfs-0.31.0.1.b263 spec/acfs/request_spec.rb
acfs-0.31.0 spec/acfs/request_spec.rb
acfs-0.30.0.1.b262 spec/acfs/request_spec.rb