sunspot_rails 2.2.6 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +1 -2
- data/Appraisals +64 -0
- data/Gemfile +3 -0
- data/lib/sunspot/rails/configuration.rb +4 -0
- data/lib/sunspot/rails/request_lifecycle.rb +3 -1
- data/lib/sunspot/rails/searchable.rb +15 -7
- data/lib/sunspot/rails/solr_instrumentation.rb +2 -2
- data/lib/sunspot/rails/solr_logging.rb +5 -10
- data/lib/sunspot/rails/stub_session_proxy.rb +9 -2
- data/lib/sunspot/rails/tasks.rb +0 -1
- data/lib/sunspot/rails.rb +2 -0
- data/spec/configuration_spec.rb +77 -69
- data/spec/model_lifecycle_spec.rb +8 -8
- data/spec/model_spec.rb +72 -71
- data/spec/rails_app/app/controllers/application_controller.rb +4 -0
- data/spec/rails_app/app/controllers/posts_controller.rb +16 -0
- data/spec/{rails_template → rails_app}/app/models/author.rb +0 -2
- data/spec/{rails_template → rails_app}/app/models/blog.rb +0 -2
- data/spec/{rails_template → rails_app}/app/models/location.rb +0 -1
- data/spec/{rails_template → rails_app}/app/models/post.rb +0 -2
- data/spec/{rails_template → rails_app}/app/models/post_with_auto.rb +0 -2
- data/spec/{rails_template → rails_app}/app/models/post_with_default_scope.rb +0 -2
- data/spec/{rails_template → rails_app}/app/models/post_with_only_some_attributes_triggering_reindex.rb +0 -2
- data/spec/rails_app/config/application.rb +17 -0
- data/spec/rails_app/config/boot.rb +6 -0
- data/spec/rails_app/config/database.yml +5 -0
- data/spec/rails_app/config/environment.rb +5 -0
- data/spec/rails_app/config/environments/test.rb +41 -0
- data/spec/rails_app/config/initializers/rails_5_override.rb +1 -0
- data/spec/rails_app/config/initializers/secret_token.rb +1 -0
- data/spec/rails_app/config/initializers/session_store.rb +3 -0
- data/spec/{rails_template → rails_app}/config/sunspot.yml +2 -0
- data/spec/rails_app/config.ru +4 -0
- data/spec/rails_app/db/schema.rb +26 -0
- data/spec/rails_app/vendor/engines/test_engine/app/models/test_engine/rake_task_auto_load_test_model.rb +15 -0
- data/spec/rails_app/vendor/engines/test_engine/lib/test_engine/engine.rb +5 -0
- data/spec/rails_app/vendor/engines/test_engine/lib/test_engine.rb +4 -0
- data/spec/rake_task_spec.rb +9 -9
- data/spec/request_lifecycle_spec.rb +17 -21
- data/spec/schema.rb +8 -9
- data/spec/searchable_spec.rb +4 -4
- data/spec/server_spec.rb +7 -7
- data/spec/session_spec.rb +3 -3
- data/spec/shared_examples/indexed_after_save.rb +1 -1
- data/spec/shared_examples/not_indexed_after_save.rb +1 -1
- data/spec/spec_helper.rb +18 -51
- data/spec/stub_session_proxy_spec.rb +40 -36
- data/sunspot_rails.gemspec +15 -8
- metadata +102 -58
- data/dev_tasks/spec.rake +0 -97
- data/gemfiles/rails-3.0.0 +0 -21
- data/gemfiles/rails-3.1.0 +0 -21
- data/gemfiles/rails-3.2.0 +0 -21
- data/gemfiles/rails-4.0.0 +0 -25
- data/gemfiles/rails-4.1.0 +0 -24
- data/gemfiles/rails-4.2.0 +0 -24
- data/spec/rails_template/app/controllers/application_controller.rb +0 -10
- data/spec/rails_template/app/controllers/posts_controller.rb +0 -6
- data/spec/rails_template/config/database.yml +0 -11
- data/spec/rails_template/db/schema.rb +0 -27
- /data/{tmp → gemfiles}/.gitkeep +0 -0
- /data/spec/{rails_template → rails_app}/app/models/photo_post.rb +0 -0
- /data/spec/{rails_template → rails_app}/app/models/rake_task_auto_load_test_model.rb +0 -0
- /data/spec/{rails_template → rails_app}/config/routes.rb +0 -0
data/spec/configuration_spec.rb
CHANGED
@@ -2,195 +2,203 @@ require File.expand_path('spec_helper', File.dirname(__FILE__))
|
|
2
2
|
|
3
3
|
describe Sunspot::Rails::Configuration, "default values without a sunspot.yml" do
|
4
4
|
before(:each) do
|
5
|
-
File.
|
5
|
+
allow(File).to receive(:exist?).and_return(false) # simulate sunspot.yml not existing
|
6
6
|
@config = Sunspot::Rails::Configuration.new
|
7
7
|
end
|
8
8
|
|
9
9
|
it "should handle the 'hostname' property when not set" do
|
10
|
-
@config.hostname.
|
10
|
+
expect(@config.hostname).to eq('localhost')
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should handle the 'path' property when not set" do
|
14
|
-
@config.path.
|
14
|
+
expect(@config.path).to eq('/solr/default')
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should set the scheme to http" do
|
18
|
-
@config.scheme.
|
18
|
+
expect(@config.scheme).to eq("http")
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should not have userinfo" do
|
22
|
-
@config.userinfo.
|
22
|
+
expect(@config.userinfo).to be_nil
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should not set a proxy" do
|
26
|
-
@config.proxy.
|
26
|
+
expect(@config.proxy).to be_nil
|
27
27
|
end
|
28
28
|
|
29
29
|
describe "port" do
|
30
30
|
it "should default to port 8981 in test" do
|
31
|
-
::Rails.
|
31
|
+
allow(::Rails).to receive(:env).and_return('test')
|
32
32
|
@config = Sunspot::Rails::Configuration.new
|
33
|
-
@config.port.
|
33
|
+
expect(@config.port).to eq(8981)
|
34
34
|
end
|
35
35
|
it "should default to port 8982 in development" do
|
36
|
-
::Rails.
|
36
|
+
allow(::Rails).to receive(:env).and_return('development')
|
37
37
|
@config = Sunspot::Rails::Configuration.new
|
38
|
-
@config.port.
|
38
|
+
expect(@config.port).to eq(8982)
|
39
39
|
end
|
40
40
|
it "should default to 8983 in production" do
|
41
|
-
::Rails.
|
41
|
+
allow(::Rails).to receive(:env).and_return('production')
|
42
42
|
@config = Sunspot::Rails::Configuration.new
|
43
|
-
@config.port.
|
43
|
+
expect(@config.port).to eq(8983)
|
44
44
|
end
|
45
45
|
it "should generally default to 8983" do
|
46
|
-
::Rails.
|
46
|
+
allow(::Rails).to receive(:env).and_return('staging')
|
47
47
|
@config = Sunspot::Rails::Configuration.new
|
48
|
-
@config.port.
|
48
|
+
expect(@config.port).to eq(8983)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
52
|
it "should set the read timeout to nil when not set" do
|
53
|
-
@config.read_timeout
|
53
|
+
expect(@config.read_timeout).to be_nil
|
54
54
|
end
|
55
55
|
|
56
56
|
it "should set the open timeout to nil when not set" do
|
57
|
-
@config.open_timeout
|
57
|
+
expect(@config.open_timeout).to be_nil
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should set the update_format to nil when not set" do
|
61
|
+
expect(@config.update_format).to be_nil
|
58
62
|
end
|
59
63
|
|
60
64
|
it "should set 'log_level' property using Rails log level when not set" do
|
61
|
-
::Rails.logger.
|
62
|
-
@config.log_level.
|
65
|
+
allow(::Rails.logger).to receive(:level){ 3 }
|
66
|
+
expect(@config.log_level).to eq('SEVERE')
|
63
67
|
end
|
64
68
|
|
65
69
|
it "should handle the 'log_file' property" do
|
66
|
-
@config.log_file.
|
70
|
+
expect(@config.log_file).to match(/log\/solr_test.log/)
|
67
71
|
end
|
68
72
|
|
69
73
|
it "should handle the 'solr_home' property when not set" do
|
70
|
-
Rails.
|
71
|
-
@config.solr_home.
|
74
|
+
expect(Rails).to receive(:root).at_least(1).and_return('/some/path')
|
75
|
+
expect(@config.solr_home).to eq('/some/path/solr')
|
72
76
|
end
|
73
77
|
|
74
78
|
it "should handle the 'pid_dir' property when not set" do
|
75
|
-
Rails.
|
76
|
-
@config.pid_dir.
|
79
|
+
expect(Rails).to receive(:root).at_least(1).and_return('/some/path')
|
80
|
+
expect(@config.pid_dir).to eq('/some/path/solr/pids/test')
|
77
81
|
end
|
78
82
|
|
79
83
|
it "should handle the 'auto_commit_after_request' propery when not set" do
|
80
|
-
@config.auto_commit_after_request
|
84
|
+
expect(@config.auto_commit_after_request?).to eq(true)
|
81
85
|
end
|
82
86
|
|
83
87
|
it "should handle the 'auto_commit_after_delete_request' propery when not set" do
|
84
|
-
@config.auto_commit_after_delete_request
|
88
|
+
expect(@config.auto_commit_after_delete_request?).to eq(false)
|
85
89
|
end
|
86
90
|
|
87
91
|
it "should handle the 'bind_address' property when not set" do
|
88
|
-
@config.bind_address.
|
92
|
+
expect(@config.bind_address).to be_nil
|
89
93
|
end
|
90
94
|
|
91
95
|
it "should handle the 'disabled' property when not set" do
|
92
|
-
@config.disabled
|
96
|
+
expect(@config.disabled?).to be_falsey
|
93
97
|
end
|
94
98
|
|
95
99
|
it "should handle the 'auto_index_callback' property when not set" do
|
96
|
-
@config.auto_index_callback.
|
100
|
+
expect(@config.auto_index_callback).to eq("after_save")
|
97
101
|
end
|
98
102
|
|
99
103
|
it "should handle the 'auto_remove_callback' property when not set" do
|
100
|
-
@config.auto_remove_callback.
|
104
|
+
expect(@config.auto_remove_callback).to eq("after_destroy")
|
101
105
|
end
|
102
106
|
end
|
103
107
|
|
104
108
|
describe Sunspot::Rails::Configuration, "user provided sunspot.yml" do
|
105
109
|
before(:each) do
|
106
|
-
::Rails.
|
110
|
+
allow(::Rails).to receive(:env).and_return('config_test')
|
107
111
|
@config = Sunspot::Rails::Configuration.new
|
108
112
|
end
|
109
113
|
|
110
114
|
it "should handle the 'scheme' property when set" do
|
111
|
-
@config.scheme.
|
115
|
+
expect(@config.scheme).to eq("http")
|
112
116
|
end
|
113
117
|
|
114
118
|
it "should handle the 'user' and 'pass' properties when set" do
|
115
|
-
@config.userinfo.
|
119
|
+
expect(@config.userinfo).to eq("user:pass")
|
116
120
|
end
|
117
121
|
|
118
122
|
it "should handle the 'hostname' property when set" do
|
119
|
-
@config.hostname.
|
123
|
+
expect(@config.hostname).to eq('some.host')
|
120
124
|
end
|
121
125
|
|
122
126
|
it "should handle the 'port' property when set" do
|
123
|
-
@config.port.
|
127
|
+
expect(@config.port).to eq(1234)
|
124
128
|
end
|
125
129
|
|
126
130
|
it "should handle the 'path' property when set" do
|
127
|
-
@config.path.
|
131
|
+
expect(@config.path).to eq('/solr/idx')
|
128
132
|
end
|
129
133
|
|
130
134
|
it "should handle the 'log_level' propery when set" do
|
131
|
-
@config.log_level.
|
135
|
+
expect(@config.log_level).to eq('WARNING')
|
132
136
|
end
|
133
137
|
|
134
138
|
it "should handle the 'solr_home' propery when set" do
|
135
|
-
@config.solr_home.
|
139
|
+
expect(@config.solr_home).to eq('/my_superior_path')
|
136
140
|
end
|
137
141
|
|
138
142
|
it "should handle the 'pid_dir' property when set" do
|
139
|
-
@config.pid_dir.
|
143
|
+
expect(@config.pid_dir).to eq('/my_superior_path/pids')
|
140
144
|
end
|
141
145
|
|
142
146
|
it "should handle the 'solr_home' property when set" do
|
143
|
-
@config.solr_home.
|
147
|
+
expect(@config.solr_home).to eq('/my_superior_path')
|
144
148
|
end
|
145
149
|
|
146
150
|
it "should handle the 'auto_commit_after_request' propery when set" do
|
147
|
-
@config.auto_commit_after_request
|
151
|
+
expect(@config.auto_commit_after_request?).to eq(false)
|
148
152
|
end
|
149
153
|
|
150
154
|
it "should handle the 'auto_commit_after_delete_request' propery when set" do
|
151
|
-
@config.auto_commit_after_delete_request
|
155
|
+
expect(@config.auto_commit_after_delete_request?).to eq(true)
|
152
156
|
end
|
153
157
|
|
154
158
|
it "should handle the 'bind_address' property when set" do
|
155
|
-
@config.bind_address.
|
159
|
+
expect(@config.bind_address).to eq("127.0.0.1")
|
156
160
|
end
|
157
161
|
|
158
162
|
it "should handle the 'read_timeout' property when set" do
|
159
|
-
@config.read_timeout.
|
163
|
+
expect(@config.read_timeout).to eq(2)
|
160
164
|
end
|
161
165
|
|
162
166
|
it "should handle the 'open_timeout' property when set" do
|
163
|
-
@config.open_timeout.
|
167
|
+
expect(@config.open_timeout).to eq(0.5)
|
168
|
+
end
|
169
|
+
|
170
|
+
it "should handle the 'update_format' property when set" do
|
171
|
+
expect(@config.update_format).to eq('json')
|
164
172
|
end
|
165
173
|
|
166
174
|
it "should handle the 'proxy' property when set" do
|
167
|
-
@config.proxy.
|
175
|
+
expect(@config.proxy).to eq('http://proxy.com:12345')
|
168
176
|
end
|
169
177
|
end
|
170
178
|
|
171
179
|
describe Sunspot::Rails::Configuration, "with auto_index_callback and auto_remove_callback set" do
|
172
180
|
before do
|
173
|
-
::Rails.
|
181
|
+
allow(::Rails).to receive(:env).and_return('config_commit_test')
|
174
182
|
@config = Sunspot::Rails::Configuration.new
|
175
183
|
end
|
176
184
|
|
177
185
|
it "should handle the 'auto_index_callback' property when set" do
|
178
|
-
@config.auto_index_callback.
|
186
|
+
expect(@config.auto_index_callback).to eq("after_commit")
|
179
187
|
end
|
180
188
|
|
181
189
|
it "should handle the 'auto_remove_callback' property when set" do
|
182
|
-
@config.auto_remove_callback.
|
190
|
+
expect(@config.auto_remove_callback).to eq("after_commit")
|
183
191
|
end
|
184
192
|
end
|
185
193
|
|
186
194
|
describe Sunspot::Rails::Configuration, "with disabled: true in sunspot.yml" do
|
187
195
|
before(:each) do
|
188
|
-
::Rails.
|
196
|
+
allow(::Rails).to receive(:env).and_return('config_disabled_test')
|
189
197
|
@config = Sunspot::Rails::Configuration.new
|
190
198
|
end
|
191
199
|
|
192
200
|
it "should handle the 'disabled' property when set" do
|
193
|
-
@config.disabled
|
201
|
+
expect(@config.disabled?).to be_truthy
|
194
202
|
end
|
195
203
|
end
|
196
204
|
|
@@ -200,7 +208,7 @@ describe Sunspot::Rails::Configuration, "with ENV['SOLR_URL'] overriding sunspot
|
|
200
208
|
end
|
201
209
|
|
202
210
|
before(:each) do
|
203
|
-
::Rails.
|
211
|
+
allow(::Rails).to receive(:env).and_return('config_test')
|
204
212
|
@config = Sunspot::Rails::Configuration.new
|
205
213
|
end
|
206
214
|
|
@@ -209,15 +217,15 @@ describe Sunspot::Rails::Configuration, "with ENV['SOLR_URL'] overriding sunspot
|
|
209
217
|
end
|
210
218
|
|
211
219
|
it "should handle the 'hostname' property when set" do
|
212
|
-
@config.hostname.
|
220
|
+
expect(@config.hostname).to eq('environment.host')
|
213
221
|
end
|
214
222
|
|
215
223
|
it "should handle the 'port' property when set" do
|
216
|
-
@config.port.
|
224
|
+
expect(@config.port).to eq(5432)
|
217
225
|
end
|
218
226
|
|
219
227
|
it "should handle the 'path' property when set" do
|
220
|
-
@config.path.
|
228
|
+
expect(@config.path).to eq('/solr/env')
|
221
229
|
end
|
222
230
|
end
|
223
231
|
|
@@ -227,7 +235,7 @@ describe Sunspot::Rails::Configuration, "with ENV['WEBSOLR_URL'] overriding suns
|
|
227
235
|
end
|
228
236
|
|
229
237
|
before(:each) do
|
230
|
-
::Rails.
|
238
|
+
allow(::Rails).to receive(:env).and_return('config_test')
|
231
239
|
@config = Sunspot::Rails::Configuration.new
|
232
240
|
end
|
233
241
|
|
@@ -236,15 +244,15 @@ describe Sunspot::Rails::Configuration, "with ENV['WEBSOLR_URL'] overriding suns
|
|
236
244
|
end
|
237
245
|
|
238
246
|
it "should handle the 'hostname' property when set" do
|
239
|
-
@config.hostname.
|
247
|
+
expect(@config.hostname).to eq('index.websolr.test')
|
240
248
|
end
|
241
249
|
|
242
250
|
it "should handle the 'port' property when set" do
|
243
|
-
@config.port.
|
251
|
+
expect(@config.port).to eq(80)
|
244
252
|
end
|
245
253
|
|
246
254
|
it "should handle the 'path' property when set" do
|
247
|
-
@config.path.
|
255
|
+
expect(@config.path).to eq('/solr/a1b2c3d4e5f')
|
248
256
|
end
|
249
257
|
end
|
250
258
|
|
@@ -254,7 +262,7 @@ describe Sunspot::Rails::Configuration, "with ENV['WEBSOLR_URL'] using https" do
|
|
254
262
|
end
|
255
263
|
|
256
264
|
before(:each) do
|
257
|
-
::Rails.
|
265
|
+
allow(::Rails).to receive(:env).and_return('config_test')
|
258
266
|
@config = Sunspot::Rails::Configuration.new
|
259
267
|
end
|
260
268
|
|
@@ -263,19 +271,19 @@ describe Sunspot::Rails::Configuration, "with ENV['WEBSOLR_URL'] using https" do
|
|
263
271
|
end
|
264
272
|
|
265
273
|
it "should set the scheme to https" do
|
266
|
-
@config.scheme.
|
274
|
+
expect(@config.scheme).to eq("https")
|
267
275
|
end
|
268
276
|
|
269
277
|
it "should handle the 'hostname' property when set" do
|
270
|
-
@config.hostname.
|
278
|
+
expect(@config.hostname).to eq('index.websolr.test')
|
271
279
|
end
|
272
280
|
|
273
281
|
it "should handle the 'port' property when set" do
|
274
|
-
@config.port.
|
282
|
+
expect(@config.port).to eq(443)
|
275
283
|
end
|
276
284
|
|
277
285
|
it "should handle the 'path' property when set" do
|
278
|
-
@config.path.
|
286
|
+
expect(@config.path).to eq('/solr/a1b2c3d4e5f')
|
279
287
|
end
|
280
288
|
end
|
281
289
|
|
@@ -285,7 +293,7 @@ describe Sunspot::Rails::Configuration, "with ENV['WEBSOLR_URL'] including useri
|
|
285
293
|
end
|
286
294
|
|
287
295
|
before(:each) do
|
288
|
-
::Rails.
|
296
|
+
allow(::Rails).to receive(:env).and_return('config_test')
|
289
297
|
@config = Sunspot::Rails::Configuration.new
|
290
298
|
end
|
291
299
|
|
@@ -294,22 +302,22 @@ describe Sunspot::Rails::Configuration, "with ENV['WEBSOLR_URL'] including useri
|
|
294
302
|
end
|
295
303
|
|
296
304
|
it "should include username and passowrd" do
|
297
|
-
@config.userinfo.
|
305
|
+
expect(@config.userinfo).to eq("user:pass")
|
298
306
|
end
|
299
307
|
|
300
308
|
it "should set the scheme to https" do
|
301
|
-
@config.scheme.
|
309
|
+
expect(@config.scheme).to eq("https")
|
302
310
|
end
|
303
311
|
|
304
312
|
it "should handle the 'hostname' property when set" do
|
305
|
-
@config.hostname.
|
313
|
+
expect(@config.hostname).to eq('index.websolr.test')
|
306
314
|
end
|
307
315
|
|
308
316
|
it "should handle the 'port' property when set" do
|
309
|
-
@config.port.
|
317
|
+
expect(@config.port).to eq(443)
|
310
318
|
end
|
311
319
|
|
312
320
|
it "should handle the 'path' property when set" do
|
313
|
-
@config.path.
|
321
|
+
expect(@config.path).to eq('/solr/a1b2c3d4e5f')
|
314
322
|
end
|
315
323
|
end
|
@@ -8,7 +8,7 @@ describe 'searchable with lifecycle' do
|
|
8
8
|
end
|
9
9
|
|
10
10
|
it 'should automatically index' do
|
11
|
-
PostWithAuto.search.results.
|
11
|
+
expect(PostWithAuto.search.results).to eq([@post])
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -20,20 +20,20 @@ describe 'searchable with lifecycle' do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it 'should automatically update index' do
|
23
|
-
PostWithAuto.search { with :title, 'Test 1' }.results.
|
23
|
+
expect(PostWithAuto.search { with :title, 'Test 1' }.results).to eq([@post])
|
24
24
|
end
|
25
25
|
|
26
26
|
it "should index model if relevant attribute changed" do
|
27
27
|
@post = PostWithAuto.create!
|
28
28
|
@post.title = 'new title'
|
29
|
-
@post.
|
29
|
+
expect(@post).to receive :solr_index
|
30
30
|
@post.save!
|
31
31
|
end
|
32
32
|
|
33
33
|
it "should not index model if relevant attribute not changed" do
|
34
34
|
@post = PostWithAuto.create!
|
35
35
|
@post.updated_at = Date.tomorrow
|
36
|
-
@post.
|
36
|
+
expect(@post).not_to receive :solr_index
|
37
37
|
@post.save!
|
38
38
|
end
|
39
39
|
end
|
@@ -46,7 +46,7 @@ describe 'searchable with lifecycle' do
|
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'should automatically remove it from the index' do
|
49
|
-
PostWithAuto.search_ids.
|
49
|
+
expect(PostWithAuto.search_ids).to be_empty
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
@@ -56,7 +56,7 @@ describe 'searchable with lifecycle' do
|
|
56
56
|
end
|
57
57
|
|
58
58
|
it "should not reindex the object on an update_at change, because it is marked as to-ignore" do
|
59
|
-
Sunspot.
|
59
|
+
expect(Sunspot).not_to receive(:index).with(@post)
|
60
60
|
@post.update_attribute :updated_at, 123.seconds.from_now
|
61
61
|
end
|
62
62
|
end
|
@@ -67,12 +67,12 @@ describe 'searchable with lifecycle' do
|
|
67
67
|
end
|
68
68
|
|
69
69
|
it "should not reindex the object on an update_at change, because it is not in the whitelist" do
|
70
|
-
Sunspot.
|
70
|
+
expect(Sunspot).not_to receive(:index).with(@post)
|
71
71
|
@post.update_attribute :updated_at, 123.seconds.from_now
|
72
72
|
end
|
73
73
|
|
74
74
|
it "should reindex the object on a title change, because it is in the whitelist" do
|
75
|
-
Sunspot.
|
75
|
+
expect(Sunspot).to receive(:index).with(@post)
|
76
76
|
@post.update_attribute :title, "brand new title"
|
77
77
|
end
|
78
78
|
|