Commit 63a2356d6383f8f90a6b2eae433a9b29370e9525
1 parent
04f3d76b
Exists in
master
and in
1 other branch
added tests
Showing
4 changed files
with
30 additions
and
14 deletions
Show diff stats
app/models/notice_observer.rb
... | ... | @@ -16,8 +16,9 @@ class NoticeObserver < Mongoid::Observer |
16 | 16 | |
17 | 17 | def should_notify? notice |
18 | 18 | app = notice.app |
19 | - app.notify_on_errs? && | |
19 | + a = app.notify_on_errs? && | |
20 | 20 | (Errbit::Config.per_app_email_at_notices && app.email_at_notices || Errbit::Config.email_at_notices).include?(notice.problem.notices_count) && |
21 | 21 | app.notification_recipients.any? |
22 | + a | |
22 | 23 | end |
23 | 24 | end | ... | ... |
spec/controllers/errs_controller_spec.rb
... | ... | @@ -188,14 +188,6 @@ describe ErrsController do |
188 | 188 | response.body.should_not button_matcher |
189 | 189 | end |
190 | 190 | |
191 | - it "should not exist for err's app with campfire" do | |
192 | - tracker = Fabricate(:campfire_tracker) | |
193 | - err = Fabricate(:err, :problem => Fabricate(:problem, :app => tracker.app)) | |
194 | - get :show, :app_id => err.app.id, :id => err.problem.id | |
195 | - | |
196 | - response.body.should_not button_matcher | |
197 | - end | |
198 | - | |
199 | 191 | it "should exist for err's app with issue tracker" do |
200 | 192 | tracker = Fabricate(:lighthouse_tracker) |
201 | 193 | err = Fabricate(:err, :problem => Fabricate(:problem, :app => tracker.app)) | ... | ... |
spec/models/notice_observer_spec.rb
... | ... | @@ -44,7 +44,7 @@ describe NoticeObserver do |
44 | 44 | end |
45 | 45 | |
46 | 46 | describe "should send a notification if a notification service is configured" do |
47 | - let(:app) { Fabricate(:app, :email_at_notices => [1], :notification_service => Fabricate(:campfire_notification_service)) } | |
47 | + let(:app) { app = Fabricate(:app, :email_at_notices => [1], :notification_service => Fabricate(:campfire_notification_service))} | |
48 | 48 | let(:err) { Fabricate(:err, :problem => Fabricate(:problem, :app => app, :notices_count => 100)) } |
49 | 49 | |
50 | 50 | before do |
... | ... | @@ -56,11 +56,13 @@ describe NoticeObserver do |
56 | 56 | end |
57 | 57 | |
58 | 58 | it "should create a campfire notification" do |
59 | - pending "not working yet" | |
60 | - #err.problem.stub(:notices_count).and_return(1) | |
61 | - #app.notification_service.stub!(:create_notification).and_return(true) | |
62 | - #app.notification_service.should_receive(:create_notification) | |
59 | + err.problem.stub(:notices_count) { 1 } | |
60 | + app.notification_service.stub!(:create_notification).and_return(true) | |
61 | + app.stub!(:notification_recipients => %w('ryan@system88.com')) | |
62 | + app.notification_service.should_receive(:create_notification) | |
63 | 63 | |
64 | + Notice.create!(:err => err, :message => 'FooError: Too Much Bar', :server_environment => {'environment-name' => 'production'}, | |
65 | + :backtrace => [{ :error => 'Le Broken' }], :notifier => { 'name' => 'Notifier', 'version' => '1', 'url' => 'http://toad.com' }) | |
64 | 66 | end |
65 | 67 | end |
66 | 68 | ... | ... |
spec/models/notification_service/campfire_service_spec.rb
0 → 100644
... | ... | @@ -0,0 +1,21 @@ |
1 | +require 'spec_helper' | |
2 | + | |
3 | +describe NotificationService::CampfireService do | |
4 | + it "it should send a notification to campfire" do | |
5 | + # setup | |
6 | + notice = Fabricate :notice | |
7 | + notification_service = Fabricate :campfire_notification_service, :app => notice.app | |
8 | + problem = notice.problem | |
9 | + | |
10 | + #campy stubbing | |
11 | + campy = mock('CampfireService') | |
12 | + Campy::Room.stub(:new).and_return(campy) | |
13 | + campy.stub(:speak) { true } | |
14 | + | |
15 | + #assert | |
16 | + campy.should_receive(:speak) | |
17 | + | |
18 | + notification_service.create_notification(problem) | |
19 | + end | |
20 | +end | |
21 | + | ... | ... |