Sha256: c46d8e2ca4359d870958a48208fe7c61b0afa1307b978070cb5645d7d1a2abb6

Contents?: true

Size: 1.7 KB

Versions: 8

Compression:

Stored size: 1.7 KB

Contents

require 'helper'

describe Octospy::Parser do
  include_context :parser_params

  describe '#initialize' do
    it { expect(parser).to be_an_instance_of Octospy::Parser }
  end

  describe '#default_params' do
    it { expect(parser.default_params).to eq default_params }
  end

  describe '#parse' do
    it {
      expect(parser).to receive(:parsing_method).once.and_return(parsing_method)
      expect(parser).to receive(parsing_method).once.and_return(parsed_params)
      expect(parser).to receive(:build).once.with(merged_params).and_return(built_params)
      expect(parser.parse event).to eq built_params
    }
  end

  describe '#build' do
    it {
      expect_any_instance_of(String).to receive(:shorten).once.and_return('http://git.io/A0ARbg')
      expect(parser.build merged_params).to eq built_params
    }
  end

  describe '#parsing_method' do
    let(:event) { double(Octokit::Client, type: 'FooBarBaz') }
    before { parser.instance_variable_set(:@event, event) }
    it { expect(parser.parsing_method).to eq :parse_foo_bar_baz }
  end

  describe '#behavior_color' do
    {
      pink: 'created',
      yellow: 'commented',
      lime: 'pushed',
      orange: 'forked',
      brown: 'closed',
      red: 'deleted',
      green: 'edited',
      blue: 'published',
      rainbow: 'started',
      seven_eleven: 'followed',
      aqua: 'foobar'
    }.each { |color, word|
      it { expect(parser.behavior_color word).to eq color }
    }
  end

  describe '#colorize_to' do
    let(:sentence) { 'created issue' }

    it {
      expect_any_instance_of(StringIrc).to receive(:pink).
        once.with(no_args).and_call_original
      expect(parser.colorize_to sentence).to eq "\u000313#{sentence}\u000F"
    }
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
octospy-0.0.8 spec/octospy/parser_spec.rb
octospy-0.0.7 spec/octospy/parser_spec.rb
octospy-0.0.6 spec/octospy/parser_spec.rb
octospy-0.0.5 spec/octospy/parser_spec.rb
octospy-0.0.4 spec/octospy/parser_spec.rb
octospy-0.0.3 spec/octospy/parser_spec.rb
octospy-0.0.2 spec/octospy/parser_spec.rb
octospy-0.0.1 spec/octospy/parser_spec.rb