Commit 17709394a1e512f9cdddfd279ea7616594065853

Authored by Nathan Broadbent
2 parents 1b53b6f6 2d89e595
Exists in master and in 1 other branch production

Merge pull request #379 from luxflux/better-hubot-notification

Better hubot notification
app/models/notification_service.rb
... ... @@ -8,7 +8,7 @@ class NotificationService
8 8 field :api_token, :type => String
9 9 field :subdomain, :type => String
10 10 field :sender_name, :type => String
11   -
  11 +
12 12 embedded_in :app, :inverse_of => :notification_service
13 13  
14 14 validate :check_params
... ... @@ -34,4 +34,8 @@ class NotificationService
34 34 def configured?
35 35 api_token.present?
36 36 end
  37 +
  38 + def problem_url(problem)
  39 + "http://#{Errbit::Config.host}/apps/#{problem.app.id}/problems/#{problem.id}"
  40 + end
37 41 end
... ...
app/models/notification_services/hubot_service.rb
... ... @@ -22,7 +22,7 @@ class NotificationServices::HubotService < NotificationService
22 22 end
23 23  
24 24 def message_for_hubot(problem)
25   - notification_description(problem)
  25 + "#{notification_description(problem)} #{problem_url(problem)}"
26 26 end
27 27  
28 28 def create_notification(problem)
... ...
spec/models/notification_service/hubot_service_spec.rb
... ... @@ -8,7 +8,7 @@ describe NotificationService::HubotService do
8 8 problem = notice.problem
9 9  
10 10 # faraday stubbing
11   - HTTParty.should_receive(:post).with(notification_service.api_token, :body => {:message => '[production][foo#bar] FooError: Too Much Bar', :room => notification_service.room_id}).and_return(true)
  11 + HTTParty.should_receive(:post).with(notification_service.api_token, :body => {:message => an_instance_of(String), :room => notification_service.room_id}).and_return(true)
12 12  
13 13 notification_service.create_notification(problem)
14 14 end
... ...