Sha256: b73ff881ce82913700385b60dc38c799425a3eb8991250fa0c5cab95837c2599

Contents?: true

Size: 1.93 KB

Versions: 20

Compression:

Stored size: 1.93 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe GitIssue::Base do

  class  SampleIts < GitIssue::Base
    def show(options = {});end
    def guess_ticket; 6789 end
  end

  describe '#initialize' do
    context 'specified unknown g ' do
      let(:args) { ["homuhomu", "1234"] }
      it { lambda{ SampleIts.new(args) }.should raise_error }
    end

    context 'specified known g ' do
      let(:args) { ["show", "1234"] }

      subject{ SampleIts.new(args) }

      it { subject.command.name.should == :show }
      its(:tickets) { should == [1234] }
    end

    context 'args is blank' do
      let (:args) { [] }

      subject { SampleIts.new(args) }

      it { subject.command.name.should == :show }
      its(:tickets) { should == [6789]}
    end

    context 'specified number only' do
      let (:args) {["9876"] }

      subject { SampleIts.new(args) }

      it { subject.command.name.should == :show }
      its(:tickets) { should == [9876]}
    end

    context 'specified multipul numbers ' do
      let(:args) { ["1234", "5678", "9999"] }

      subject { SampleIts.new(args) }

      it { subject.command.name.should == :show }
      its(:tickets) { should == [1234, 5678, 9999]}
    end
  end

  describe '#execute' do

    context 'one ticket_id specified' do
      let(:args) { ["show", "1234"] }
      let(:its)  { SampleIts.new(args) }

      it { its.should_receive(:show).with(its.options.merge(:ticket_id => 1234)).once }
      after { its.execute }
    end

    context 'three ticket_ids specified' do
      let(:args) { ["show", "1234", "5678", "9999"] }
      let(:its)  { SampleIts.new(args) }

      it {
        its.should_receive(:show).with(its.options.merge(:ticket_id => 1234)).once
        its.should_receive(:show).with(its.options.merge(:ticket_id => 5678)).once
        its.should_receive(:show).with(its.options.merge(:ticket_id => 9999)).once
      }
      after { its.execute }
    end

  end


end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
git-issue-0.9.2 spec/git_issue/base_spec.rb
git-issue-0.9.1 spec/git_issue/base_spec.rb
git-issue-0.9.0 spec/git_issue/base_spec.rb
git-issue-0.8.7 spec/git_issue/base_spec.rb
git-issue-0.8.6 spec/git_issue/base_spec.rb
git-issue-0.8.5 spec/git_issue/base_spec.rb
git-issue-0.8.4 spec/git_issue/base_spec.rb
git-issue-0.8.3 spec/git_issue/base_spec.rb
git-issue-0.8.2 spec/git_issue/base_spec.rb
git-issue-0.8.1 spec/git_issue/base_spec.rb
git-issue-0.8.0 spec/git_issue/base_spec.rb
git-issue-0.7.8 spec/git_issue/base_spec.rb
git-issue-0.7.7 spec/git_issue/base_spec.rb
git-issue-0.7.6 spec/git_issue/base_spec.rb
git-issue-0.7.5 spec/git_issue/base_spec.rb
git-issue-0.7.4 spec/git_issue/base_spec.rb
git-issue-0.7.3 spec/git_issue/base_spec.rb
git-issue-0.7.2 spec/git_issue/base_spec.rb
git-issue-0.7.1 spec/git_issue/base_spec.rb
git-issue-0.7.0 spec/git_issue/base_spec.rb