Sha256: c669407e49c2eb127fb49685aa3c495bfed1647616355f6e6f4ee1c1c206e8ba

Contents?: true

Size: 1.8 KB

Versions: 6

Compression:

Stored size: 1.8 KB

Contents

require 'test_helper'

describe Outpost::Notifiers::Campfire do
  class CampfireMock
    class << self
      attr_accessor :mock
    end
    def initialize(*args);                        end
    def find_room_by_name(room); self.class.mock; end
  end

  describe "#initialize" do
    it "should raise argument error if token is missing" do
      params = {:subdomain => '123', :room => '123'}

      assert_raises ArgumentError do
        campfire = Outpost::Notifiers::Campfire.new(params)
      end
    end

    it "should raise argument error if subdomain is missing" do
      params = {:token => '123', :room => '123'}

      assert_raises ArgumentError do
        campfire = Outpost::Notifiers::Campfire.new(params)
      end
    end

    it "should raise argument error if room is missing" do
      params = {:token => '123', :subdomain => '123'}

      assert_raises ArgumentError do
        campfire = Outpost::Notifiers::Campfire.new(params)
      end
    end

    it "should raise argument error if no attributes were supplied" do
      assert_raises ArgumentError do
        campfire = Outpost::Notifiers::Campfire.new
      end
    end
  end

  describe "#notify" do
    it "should build the message" do
      campfire_room_mock = MiniTest::Mock.new
      campfire_room_mock.expect :speak, nil, ["System is up: 1,2"]

      CampfireMock.mock = campfire_room_mock

      params = {
        :token             => '123',
        :subdomain         => '123',
        :room              => '123',
        :campfire_notifier => CampfireMock
      }

      campfire = Outpost::Notifiers::Campfire.new(params)
      campfire.notify(outpost_stub)

      campfire_room_mock.verify
    end
  end

  def outpost_stub
    build_stub(
      :name        => 'test outpost',
      :last_status => :up,
      :messages    => ['1', '2']
    )
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
outpost-0.2.5 test/outpost/notifiers/campfire_test.rb
outpost-0.2.4 test/outpost/notifiers/campfire_test.rb
outpost-0.2.3 test/outpost/notifiers/campfire_test.rb
outpost-0.2.2 test/outpost/notifiers/campfire_test.rb
outpost-0.2.1 test/outpost/notifiers/campfire_test.rb
outpost-0.2.0 test/outpost/notifiers/campfire_test.rb