forked from hipchat/hipchat-rb
/
hipchat_spec.rb
47 lines (37 loc) · 1.4 KB
/
hipchat_spec.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
describe HipChat do
subject { HipChat::Client.new("blah") }
let(:room) { subject["Hipchat"] }
describe "sends a message to a room" do
it "successfully" do
mock(HipChat::Room).post("/message",
:query => {:auth_token => "blah"},
:body => {:room_id => "Hipchat",
:from => "Dude",
:message => "Hello world",
:notify => 0}) {
OpenStruct.new(:code => 200)
}
room.send "Dude", "Hello world"
end
it "but fails when the room doesn't exist" do
mock(HipChat::Room).post(anything, anything) {
OpenStruct.new(:code => 404)
}
lambda { room.send "", "" }.should raise_error(HipChat::UnknownRoom)
end
it "but fails when we're not allowed to do so" do
mock(HipChat::Room).post(anything, anything) {
OpenStruct.new(:code => 401)
}
lambda { room.send "", "" }.should raise_error(HipChat::Unauthorized)
end
it "but fails if we get an unknown response code" do
mock(HipChat::Room).post(anything, anything) {
OpenStruct.new(:code => 403)
}
lambda { room.send "", "" }.
should raise_error(HipChat::UnknownResponseCode)
end
end
end