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 5 field :api_token, :type => String
6 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 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 3 room_id { sequence :word }
3 4 api_token { sequence :word }
4 5 subdomain { sequence :word }
5 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 10 end
12   -
... ...
spec/models/notice_observer_spec.rb
... ... @@ -25,7 +25,6 @@ describe NoticeObserver do
25 25 end
26 26  
27 27 describe "email notifications for a resolved issue" do
28   -
29 28 before do
30 29 Errbit::Config.per_app_email_at_notices = true
31 30 @app = Fabricate(:app_with_watcher, :email_at_notices => [1])
... ... @@ -44,24 +43,24 @@ describe NoticeObserver do
44 43 end
45 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 50 before do
50 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 52 end
54 53  
55 54 after do
56 55 Errbit::Config.per_app_email_at_notices = false
57 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 64 end
66 65 end
67 66  
... ...