Commit 2f20b79b8558314351421e8439bebc1313823c3a

Authored by Cyril Mougel
1 parent e3d42a62
Exists in master and in 1 other branch production

fix spec/model/notice with fabrication gem

spec/fabricators/err_fabricator.rb
... ... @@ -10,9 +10,9 @@ Fabricator :notice do
10 10 err!
11 11 message 'FooError: Too Much Bar'
12 12 backtrace { random_backtrace }
13   - server_environment 'environment-name' => 'production'
  13 + server_environment { {'environment-name' => 'production'} }
14 14 request {{ 'component' => 'foo', 'action' => 'bar' }}
15   - notifier 'name' => 'Notifier', 'version' => '1', 'url' => 'http://toad.com'
  15 + notifier {{ 'name' => 'Notifier', 'version' => '1', 'url' => 'http://toad.com' }}
16 16 end
17 17  
18 18 def random_backtrace
... ...
spec/models/notice_spec.rb
... ... @@ -5,19 +5,19 @@ describe Notice do
5 5  
6 6 context 'validations' do
7 7 it 'requires a backtrace' do
8   - notice = Factory.build(:notice, :backtrace => nil)
  8 + notice = Fabricate.build(:notice, :backtrace => nil)
9 9 notice.should_not be_valid
10 10 notice.errors[:backtrace].should include("can't be blank")
11 11 end
12 12  
13 13 it 'requires the server_environment' do
14   - notice = Factory.build(:notice, :server_environment => nil)
  14 + notice = Fabricate.build(:notice, :server_environment => nil)
15 15 notice.should_not be_valid
16 16 notice.errors[:server_environment].should include("can't be blank")
17 17 end
18 18  
19 19 it 'requires the notifier' do
20   - notice = Factory.build(:notice, :notifier => nil)
  20 + notice = Fabricate.build(:notice, :notifier => nil)
21 21 notice.should_not be_valid
22 22 notice.errors[:notifier].should include("can't be blank")
23 23 end
... ... @@ -61,8 +61,8 @@ describe Notice do
61 61 end
62 62 [:server_environment, :request, :notifier].each do |key|
63 63 it "replaces . with . and $ with $ in keys used in #{key}" do
64   - err = Factory(:err)
65   - notice = Factory(:notice, :err => err, key => @hash)
  64 + err = Fabricate(:err)
  65 + notice = Fabricate(:notice, :err => err, key => @hash)
66 66 notice.send(key).should == @hash_sanitized
67 67 end
68 68 end
... ... @@ -71,42 +71,42 @@ describe Notice do
71 71  
72 72 describe "user agent" do
73 73 it "should be parsed and human-readable" do
74   - notice = Factory.build(:notice, :request => {'cgi-data' => {'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16'}})
  74 + notice = Fabricate.build(:notice, :request => {'cgi-data' => {'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16'}})
75 75 notice.user_agent.browser.should == 'Chrome'
76 76 notice.user_agent.version.to_s.should =~ /^10\.0/
77 77 end
78 78  
79 79 it "should be nil if HTTP_USER_AGENT is blank" do
80   - notice = Factory.build(:notice)
  80 + notice = Fabricate.build(:notice)
81 81 notice.user_agent.should == nil
82 82 end
83 83 end
84 84  
85 85 describe "user agent string" do
86 86 it "should be parsed and human-readable" do
87   - notice = Factory.build(:notice, :request => {'cgi-data' => {'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16'}})
  87 + notice = Fabricate.build(:notice, :request => {'cgi-data' => {'HTTP_USER_AGENT' => 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16'}})
88 88 notice.user_agent_string.should == 'Chrome 10.0.648.204'
89 89 end
90 90  
91 91 it "should be nil if HTTP_USER_AGENT is blank" do
92   - notice = Factory.build(:notice)
  92 + notice = Fabricate.build(:notice)
93 93 notice.user_agent_string.should == "N/A"
94 94 end
95 95 end
96 96  
97 97 describe "host" do
98 98 it "returns host if url is valid" do
99   - notice = Factory.build(:notice, :request => {'url' => "http://example.com/resource/12"})
  99 + notice = Fabricate.build(:notice, :request => {'url' => "http://example.com/resource/12"})
100 100 notice.host.should == 'example.com'
101 101 end
102   -
  102 +
103 103 it "returns 'N/A' when url is not valid" do
104   - notice = Factory.build(:notice, :request => {'url' => "some string"})
  104 + notice = Fabricate.build(:notice, :request => {'url' => "some string"})
105 105 notice.host.should == 'N/A'
106 106 end
107 107  
108 108 it "returns 'N/A' when url is empty" do
109   - notice = Factory.build(:notice, :request => {})
  109 + notice = Fabricate.build(:notice, :request => {})
110 110 notice.host.should == 'N/A'
111 111 end
112 112  
... ... @@ -118,8 +118,8 @@ describe Notice do
118 118  
119 119 before do
120 120 Errbit::Config.per_app_email_at_notices = true
121   - @app = Factory(:app_with_watcher, :email_at_notices => custom_thresholds)
122   - @err = Factory(:err, :problem => Factory(:problem, :app => @app))
  121 + @app = Fabricate(:app_with_watcher, :email_at_notices => custom_thresholds)
  122 + @err = Fabricate(:err, :problem => Fabricate(:problem, :app => @app))
123 123 end
124 124  
125 125 after do
... ... @@ -131,7 +131,7 @@ describe Notice do
131 131 @err.problem.stub(:notices_count).and_return(threshold)
132 132 Mailer.should_receive(:err_notification).
133 133 and_return(mock('email', :deliver => true))
134   - Factory(:notice, :err => @err)
  134 + Fabricate(:notice, :err => @err)
135 135 end
136 136 end
137 137 end
... ... @@ -140,8 +140,8 @@ describe Notice do
140 140  
141 141 before do
142 142 Errbit::Config.per_app_email_at_notices = true
143   - @app = Factory(:app_with_watcher, :email_at_notices => [1])
144   - @err = Factory(:err, :problem => Factory(:problem, :app => @app, :notices_count => 100))
  143 + @app = Fabricate(:app_with_watcher, :email_at_notices => [1])
  144 + @err = Fabricate(:err, :problem => Fabricate(:problem, :app => @app, :notices_count => 100))
145 145 end
146 146  
147 147 after do
... ... @@ -152,7 +152,7 @@ describe Notice do
152 152 @err.problem.resolve!
153 153 Mailer.should_receive(:err_notification).
154 154 and_return(mock('email', :deliver => true))
155   - Factory(:notice, :err => @err)
  155 + Fabricate(:notice, :err => @err)
156 156 end
157 157 end
158 158 end
... ...