|
|
@@ -2,11 +2,14 @@ require 'spec_helper'
|
2
|
2
|
|
3
|
3
|
describe Agents::SlackAgent do
|
4
|
4
|
before(:each) do
|
|
5
|
+ @fallback = "Its going to rain"
|
|
6
|
+ @attachments = [{'fallback' => "{{fallback}}"}]
|
5
|
7
|
@valid_params = {
|
6
|
8
|
'webhook_url' => 'https://hooks.slack.com/services/random1/random2/token',
|
7
|
9
|
'channel' => '#random',
|
8
|
10
|
'username' => "{{username}}",
|
9
|
|
- 'message' => "{{message}}"
|
|
11
|
+ 'message' => "{{message}}",
|
|
12
|
+ 'attachments' => @attachments
|
10
|
13
|
}
|
11
|
14
|
|
12
|
15
|
@checker = Agents::SlackAgent.new(:name => "slacker", :options => @valid_params)
|
|
|
@@ -15,7 +18,7 @@ describe Agents::SlackAgent do
|
15
|
18
|
|
16
|
19
|
@event = Event.new
|
17
|
20
|
@event.agent = agents(:bob_weather_agent)
|
18
|
|
- @event.payload = { :channel => '#random', :message => 'Looks like its going to rain', username: "Huggin user"}
|
|
21
|
+ @event.payload = { :channel => '#random', :message => 'Looks like its going to rain', username: "Huggin user", fallback: @fallback}
|
19
|
22
|
@event.save!
|
20
|
23
|
end
|
21
|
24
|
|
|
|
@@ -44,12 +47,22 @@ describe Agents::SlackAgent do
|
44
|
47
|
@checker.options['icon_emoji'] = "something"
|
45
|
48
|
expect(@checker).to be_valid
|
46
|
49
|
end
|
|
50
|
+
|
|
51
|
+ it "should allow attachments" do
|
|
52
|
+ @checker.options['attachments'] = nil
|
|
53
|
+ expect(@checker).to be_valid
|
|
54
|
+ @checker.options['attachments'] = []
|
|
55
|
+ expect(@checker).to be_valid
|
|
56
|
+ @checker.options['attachments'] = @attachments
|
|
57
|
+ expect(@checker).to be_valid
|
|
58
|
+ end
|
47
|
59
|
end
|
48
|
60
|
|
49
|
61
|
describe "#receive" do
|
50
|
62
|
it "receive an event without errors" do
|
51
|
63
|
any_instance_of(Slack::Notifier) do |obj|
|
52
|
64
|
mock(obj).ping(@event.payload[:message],
|
|
65
|
+ attachments: [{'fallback' => @fallback}],
|
53
|
66
|
channel: @event.payload[:channel],
|
54
|
67
|
username: @event.payload[:username]
|
55
|
68
|
)
|