Commit f4fd06f98dda20dee13bcd26b178740bb6617824

Authored by Ryan Jones
1 parent d6efeeb3
Exists in master and in 1 other branch production

fixed fabricators and a terrible type

app/models/notification_service.rb
@@ -5,7 +5,7 @@ class NotificationService @@ -5,7 +5,7 @@ class NotificationService
5 field :api_token, :type => String 5 field :api_token, :type => String
6 field :subdomain, :type => String 6 field :subdomain, :type => String
7 7
8 - embedded_in :app, :inverse_of => :notfication_service 8 + embedded_in :app, :inverse_of => :notification_service
9 9
10 validate :check_params 10 validate :check_params
11 11
spec/fabricators/notification_service_fabricator.rb
1 -Fabricator(:notification_service) do 1 +Fabricator :notification_service do
  2 + app!
2 room_id { sequence :word } 3 room_id { sequence :word }
3 api_token { sequence :word } 4 api_token { sequence :word }
4 subdomain { sequence :word } 5 subdomain { sequence :word }
5 end 6 end
6 7
7 -Fabricator :campfire_notification_service, :from => :notification_service, :class_name => "NotificationService::CampfireService" do  
8 - room_id '123456'  
9 - api_token 'ertj3qh4895oqhfiugs4g74p5w96'  
10 - subdomain 'waffles' 8 +%w(campfire).each do |t|
  9 + Fabricator "#{t}_notification_service".to_sym, :from => :notification_service, :class_name => "NotificationService::#{t.camelcase}Service"
11 end 10 end
12 -  
spec/models/notice_observer_spec.rb
@@ -25,7 +25,6 @@ describe NoticeObserver do @@ -25,7 +25,6 @@ describe NoticeObserver do
25 end 25 end
26 26
27 describe "email notifications for a resolved issue" do 27 describe "email notifications for a resolved issue" do
28 -  
29 before do 28 before do
30 Errbit::Config.per_app_email_at_notices = true 29 Errbit::Config.per_app_email_at_notices = true
31 @app = Fabricate(:app_with_watcher, :email_at_notices => [1]) 30 @app = Fabricate(:app_with_watcher, :email_at_notices => [1])
@@ -44,24 +43,24 @@ describe NoticeObserver do @@ -44,24 +43,24 @@ describe NoticeObserver do
44 end 43 end
45 end 44 end
46 45
47 - describe "notifications for campfire" do 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)) }
  48 + let(:err) { Fabricate(:err, :problem => Fabricate(:problem, :app => app, :notices_count => 100)) }
48 49
49 before do 50 before do
50 Errbit::Config.per_app_email_at_notices = true 51 Errbit::Config.per_app_email_at_notices = true
51 - @app = Fabricate(:app_with_watcher, :email_at_notices => [1], :issue_tracker => Fabricate(:campfire_tracker))  
52 - @err = Fabricate(:err, :problem => Fabricate(:problem, :app => @app, :notices_count => 100))  
53 end 52 end
54 53
55 after do 54 after do
56 Errbit::Config.per_app_email_at_notices = false 55 Errbit::Config.per_app_email_at_notices = false
57 end 56 end
58 57
59 - it "should create a campfire issue" do  
60 - @err.problem.stub(:notices_count).and_return(1)  
61 - @app.issue_tracker.stub!(:create_issue).and_return(true)  
62 - @app.issue_tracker.should_receive(:create_issue) 58 + it "should create a campfire notification" do
  59 + err.problem.stub(:notices_count).and_return(1)
  60 + app.notification_service.stub!(:create_issue).and_return(true)
  61 + app.notification_service.should_receive(:create_issue)
63 62
64 - Fabricate(:notice, :err => @err) 63 + Fabricate(:notice, :err => err)
65 end 64 end
66 end 65 end
67 66