Sha256: ca47dcad6a6b85d91c55505dbabedc2f708df34f7433edad01aff94fd79c5f42

Contents?: true

Size: 1.19 KB

Versions: 12

Compression:

Stored size: 1.19 KB

Contents

require 'spec_helper'

describe MailRoom::CLI do
  let(:config_path) {File.expand_path('../fixtures/test_config.yml', File.dirname(__FILE__))}
  let!(:configuration) {MailRoom::Configuration.new({:config_path => config_path})}
  let(:coordinator) {stub(:run => true, :quit => true)}

  describe '.new' do
    let(:args) {["-c", "a path"]}

    before :each do
      MailRoom::Configuration.stubs(:new).returns(configuration)
      MailRoom::Coordinator.stubs(:new).returns(coordinator)
    end

    it 'parses arguments into configuration' do
      MailRoom::CLI.new(args).configuration.should eq(configuration)
      MailRoom::Configuration.should have_received(:new).with({:config_path => 'a path'})
    end

    it 'creates a new coordinator with configuration' do
      MailRoom::CLI.new(args).coordinator.should eq(coordinator)
      MailRoom::Coordinator.should have_received(:new).with(configuration.mailboxes)
    end
  end

  describe '#start' do
    let(:cli) {MailRoom::CLI.new([])}

    before :each do
      cli.configuration = configuration
      cli.coordinator = coordinator
    end

    it 'starts running the coordinator' do
      cli.start

      coordinator.should have_received(:run)
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
mail_room-0.7.0 spec/lib/cli_spec.rb
mail_room-0.6.1 spec/lib/cli_spec.rb
mail_room-0.6.0 spec/lib/cli_spec.rb
mail_room-0.5.2 spec/lib/cli_spec.rb
mail_room-0.5.1 spec/lib/cli_spec.rb
mail_room-0.5.0 spec/lib/cli_spec.rb
mail_room-0.4.2 spec/lib/cli_spec.rb
mail_room-0.4.1 spec/lib/cli_spec.rb
mail_room-0.4.0 spec/lib/cli_spec.rb
mail_room-0.3.1 spec/lib/cli_spec.rb
mail_room-0.3.0 spec/lib/cli_spec.rb
mail_room-0.2.0 spec/lib/cli_spec.rb