Commit 0d4a6e45e17711238acafbc8652cac318ebf8199
1 parent
70d21539
Exists in
master
obey the cops
Showing
2 changed files
with
19 additions
and
13 deletions
Show diff stats
app/models/notification_services/slack_service.rb
@@ -19,8 +19,8 @@ class NotificationServices::SlackService < NotificationService | @@ -19,8 +19,8 @@ class NotificationServices::SlackService < NotificationService | ||
19 | 19 | ||
20 | def post_payload(problem) | 20 | def post_payload(problem) |
21 | { | 21 | { |
22 | - username: "Errbit", | ||
23 | - icon_emoji: ":collision:", | 22 | + username: "Errbit", |
23 | + icon_emoji: ":collision:", | ||
24 | attachments: [ | 24 | attachments: [ |
25 | { | 25 | { |
26 | fallback: message_for_slack(problem), | 26 | fallback: message_for_slack(problem), |
@@ -28,7 +28,7 @@ class NotificationServices::SlackService < NotificationService | @@ -28,7 +28,7 @@ class NotificationServices::SlackService < NotificationService | ||
28 | title_link: problem.url, | 28 | title_link: problem.url, |
29 | text: problem.where, | 29 | text: problem.where, |
30 | color: "#D00000", | 30 | color: "#D00000", |
31 | - fields: [ | 31 | + fields: [ |
32 | { | 32 | { |
33 | title: "Application", | 33 | title: "Application", |
34 | value: problem.app.name, | 34 | value: problem.app.name, |
spec/models/notification_service/slack_service_spec.rb
1 | describe NotificationServices::SlackService, type: 'model' do | 1 | describe NotificationServices::SlackService, type: 'model' do |
2 | + let(:notice) { Fabricate :notice } | ||
3 | + let(:service_url) do | ||
4 | + "https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXX" | ||
5 | + end | ||
6 | + | ||
7 | + let(:service) do | ||
8 | + Fabricate :slack_notification_service, app: notice.app, | ||
9 | + service_url: service_url | ||
10 | + end | ||
11 | + | ||
2 | it "it should send a notification to Slack with hook url" do | 12 | it "it should send a notification to Slack with hook url" do |
3 | # setup | 13 | # setup |
4 | - notice = Fabricate :notice | ||
5 | - notification_service = Fabricate :slack_notification_service, | ||
6 | - app: notice.app, | ||
7 | - service_url: "https://hooks.slack.com/services/XXXXXXXXX/XXXXXXXXX/XXXXXXXXX" | ||
8 | problem = notice.problem | 14 | problem = notice.problem |
9 | 15 | ||
10 | # faraday stubbing | 16 | # faraday stubbing |
11 | payload = { | 17 | payload = { |
12 | - username: "Errbit", | ||
13 | - icon_emoji: ":collision:", | 18 | + username: "Errbit", |
19 | + icon_emoji: ":collision:", | ||
14 | attachments: [ | 20 | attachments: [ |
15 | { | 21 | { |
16 | - fallback: notification_service.message_for_slack(problem), | 22 | + fallback: service.message_for_slack(problem), |
17 | title: problem.message.to_s.truncate(100), | 23 | title: problem.message.to_s.truncate(100), |
18 | title_link: problem.url, | 24 | title_link: problem.url, |
19 | text: problem.where, | 25 | text: problem.where, |
20 | color: "#D00000", | 26 | color: "#D00000", |
21 | - fields: [ | 27 | + fields: [ |
22 | { | 28 | { |
23 | title: "Application", | 29 | title: "Application", |
24 | value: problem.app.name, | 30 | value: problem.app.name, |
@@ -43,8 +49,8 @@ describe NotificationServices::SlackService, type: 'model' do | @@ -43,8 +49,8 @@ describe NotificationServices::SlackService, type: 'model' do | ||
43 | } | 49 | } |
44 | ] | 50 | ] |
45 | }.to_json | 51 | }.to_json |
46 | - expect(HTTParty).to receive(:post).with(notification_service.service_url, body: payload, headers: { "Content-Type" => "application/json" }).and_return(true) | 52 | + expect(HTTParty).to receive(:post).with(service.service_url, body: payload, headers: { "Content-Type" => "application/json" }).and_return(true) |
47 | 53 | ||
48 | - notification_service.create_notification(problem) | 54 | + service.create_notification(problem) |
49 | end | 55 | end |
50 | end | 56 | end |