Sha256: 9c203ed8ad282cd5533f767ba338a4c7007f2ddc714a14e31de7431008ab70e9

Contents?: true

Size: 1.3 KB

Versions: 5

Compression:

Stored size: 1.3 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe Github::PagedRequest do
  it { described_class.constants.should include :FIRST_PAGE }
  it { described_class.constants.should include :PER_PAGE }

  context 'page_request' do
    let(:path) { '/repos' }

    before do
      Github.new
    end

    it 'sets default per_page when only custom page passed' do
      Github.stub_chain(:api_client, :per_page).and_return nil
      Github.stub_chain(:api_client, :get).and_return nil
      Github::PagedRequest.page_request path, {'page' => 3, 'per_page' => -1}
      Github::PagedRequest.page.should eq 3
      Github::PagedRequest.per_page.should eq 30
    end

    it 'sets default page when only custom per_page passed' do
      Github.stub_chain(:api_client, :page).and_return nil
      Github.stub_chain(:api_client, :get).and_return nil
      Github::PagedRequest.page_request path, {'per_page' => 33, 'page' => -1}
      Github::PagedRequest.page.should eq 1
      Github::PagedRequest.per_page.should eq 33
    end

    it 'sends get request with passed parameters' do
      Github.stub(:api_client).and_return Github::Client
      Github::Client.should_receive(:get).with(path, 'page' => 2, 'per_page' => 33)
      Github::PagedRequest.page_request path, {'page' => 2, 'per_page' => 33}
    end
  end

end # Github::PagedRequest

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
github_api-0.4.11 spec/github/paged_request_spec.rb
github_api-0.4.10 spec/github/paged_request_spec.rb
github_api-0.4.9 spec/github/paged_request_spec.rb
github_api-0.4.8 spec/github/paged_request_spec.rb
github_api-0.4.7 spec/github/paged_request_spec.rb