Sha256: eb60bf78396141e10aa9fa6c07841c265e7b6f6b305d46647d4b14205e6c665a

Contents?: true

Size: 1.25 KB

Versions: 5

Compression:

Stored size: 1.25 KB

Contents

# encoding: utf-8

require 'spec_helper'

describe Github::API do
  subject { described_class.new(options) }

  it { described_class.included_modules.should include Github::Authorization }
  it { described_class.included_modules.should include Github::MimeType }
  it { described_class.included_modules.should include Github::Connection }
  it { described_class.included_modules.should include Github::Request }

  context 'actions' do
    let(:options) { { } }
    let(:repos) { Github::Repos }

    it { should respond_to :api_methods_in }

    it 'dynamically adds actions inspection to classes inheriting from api' do
      repos.should respond_to :actions
      repos.new.should respond_to :actions
    end

    it 'ensures output contains api methods' do
      methods = [ 'method_a', 'method_b']
      repos.stub(:instance_methods).and_return methods
      output = capture(:stdout) { 
        subject.api_methods_in(repos)
      }
      output.should =~ /.*method_a.*/
      output.should =~ /.*method_b.*/
    end
  end

  context 'process_basic_auth' do
    let(:options) { { :basic_auth => 'login:password' } }

    its(:login) { should eq 'login' }

    its(:password) { should eq 'password' }

    its(:basic_auth) { should eq 'login:password' }
  end
end # Github::API

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
github_api-0.11.3 spec/github/api_spec.rb
github_api-0.11.2 spec/github/api_spec.rb
github_api-0.11.1 spec/github/api_spec.rb
github_api-0.11.0 spec/github/api_spec.rb
github_api-0.10.2 spec/github/api_spec.rb