mongoid-elasticsearch 0.8.1 → 0.8.2
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 +4 -4
- data/.ruby-version +1 -1
- data/lib/mongoid/elasticsearch/pagination.rb +1 -1
- data/lib/mongoid/elasticsearch/version.rb +1 -1
- data/spec/mongoid_elasticsearch_spec.rb +129 -115
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ab2a507244af6596bf9c5770642ff8e0437018d
|
4
|
+
data.tar.gz: 7cc3aa09ebab9cf69d471ddab31ec2f3f6e041ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3f54a1d33748829d1bd94f5ac9c05ffb0c926a217e2568de570a45225cff7bf30a53a964c9bed295c2391fb679706196e76338137b90110bf0f2d12ef7679fa
|
7
|
+
data.tar.gz: e878bfa26f9274669d554914be9a462d34f0d55dc607ea48aa4c875a4bd2cc4471ae28f4038a8692444294a3160fd686b01cb3b3ed0e08308c8ea3b6209adc7c
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.1.
|
1
|
+
2.1.2
|
@@ -4,27 +4,27 @@ require "spec_helper"
|
|
4
4
|
|
5
5
|
describe Article do
|
6
6
|
it 'properly uses options' do
|
7
|
-
Article.es_index_name.
|
8
|
-
Article.es.index.name.
|
9
|
-
Article.es.index.type.
|
10
|
-
Article.es_wrapper.
|
11
|
-
Article.es_client_options.
|
7
|
+
expect(Article.es_index_name).to eq 'mongoid_es_news'
|
8
|
+
expect(Article.es.index.name).to eq 'mongoid_es_news'
|
9
|
+
expect(Article.es.index.type).to eq 'article'
|
10
|
+
expect(Article.es_wrapper).to eq :load
|
11
|
+
expect(Article.es_client_options).to eq(DEFAULT_OPT)
|
12
12
|
end
|
13
13
|
|
14
14
|
context 'index operations' do
|
15
15
|
it 'creates and destroys index' do
|
16
|
-
Article.es.index.exists
|
16
|
+
expect(Article.es.index.exists?).to be_truthy
|
17
17
|
Article.es.index.delete
|
18
|
-
Article.es.index.exists
|
18
|
+
expect(Article.es.index.exists?).to be_falsey
|
19
19
|
Article.es.index.create
|
20
|
-
Article.es.index.exists
|
20
|
+
expect(Article.es.index.exists?).to be_truthy
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
context 'adding to index' do
|
25
25
|
it 'successfuly saves mongoid document' do
|
26
26
|
article = Article.new(name: 'test article name')
|
27
|
-
article.save.
|
27
|
+
expect(article.save).to be_truthy
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
@@ -32,11 +32,11 @@ describe Article do
|
|
32
32
|
it 'deletes document from index when model is destroyed' do
|
33
33
|
Article.create(name: 'test article name')
|
34
34
|
Article.es.index.refresh
|
35
|
-
Article.es.all.count.
|
35
|
+
expect(Article.es.all.count).to eq 1
|
36
36
|
|
37
37
|
Article.first.destroy
|
38
38
|
Article.es.index.refresh
|
39
|
-
Article.es.all.count.
|
39
|
+
expect(Article.es.all.count).to eq 0
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -60,22 +60,22 @@ describe Article do
|
|
60
60
|
|
61
61
|
it 'searches and returns models' do
|
62
62
|
results = Article.es.search q: 'likely'
|
63
|
-
results.count.
|
64
|
-
results.to_a.count.
|
65
|
-
results.first.id.
|
66
|
-
results.first.name.
|
63
|
+
expect(results.count).to eq 1
|
64
|
+
expect(results.to_a.count).to eq 1
|
65
|
+
expect(results.first.id).to eq @article_2.id
|
66
|
+
expect(results.first.name).to eq @article_2.name
|
67
67
|
end
|
68
68
|
|
69
69
|
it 'mongoid_slug with wrapper: :load' do
|
70
70
|
results = Article.es.search q: 'likely'
|
71
71
|
expect(Article).to receive(:find).once.with([@article_2.id.to_s]).and_call_original
|
72
|
-
results.first.slug.
|
73
|
-
results.first.to_param.
|
72
|
+
expect(results.first.slug).to eq @article_2.name.to_url
|
73
|
+
expect(results.first.to_param).to eq @article_2.name.to_url
|
74
74
|
end
|
75
75
|
|
76
76
|
it 'mongoid_slug with sort and wrapper: :load' do
|
77
77
|
results = Article.es.search body: { query: { match_all: {} }, sort: { 'name.raw' => 'desc' } }
|
78
|
-
results.map( &:id ).
|
78
|
+
expect(results.map( &:id )).to eq Article.all.desc( :name ).map( &:id )
|
79
79
|
end
|
80
80
|
|
81
81
|
it 'mongoid_slug with wrapper: :model' do
|
@@ -83,26 +83,26 @@ describe Article do
|
|
83
83
|
results = Article.es.search 'likely', wrapper: :model
|
84
84
|
sleep 3
|
85
85
|
allow(Article).to receive(:find)
|
86
|
-
results.first.slug.
|
87
|
-
results.first.to_param.
|
86
|
+
expect(results.first.slug).to eq @article_2.name.to_url
|
87
|
+
expect(results.first.to_param).to eq @article_2.name.to_url
|
88
88
|
expect(Article).to_not have_received(:find)
|
89
89
|
end
|
90
90
|
|
91
91
|
it 'restores BSON::ObjectId with wrapper :model' do
|
92
92
|
results = Post.es.search 'object_id'
|
93
93
|
if defined?(Moped::BSON)
|
94
|
-
results.first.my_object_id.
|
94
|
+
expect(results.first.my_object_id).to be_kind_of(Moped::BSON::ObjectId)
|
95
95
|
else
|
96
|
-
results.first.my_object_id.
|
96
|
+
expect(results.first.my_object_id).to be_kind_of(BSON::ObjectId)
|
97
97
|
end
|
98
98
|
|
99
|
-
results.first.my_object_id.
|
99
|
+
expect(results.first.my_object_id).to eq(@post_1.my_object_id)
|
100
100
|
end
|
101
101
|
|
102
102
|
|
103
103
|
if Article.es.completion_supported?
|
104
104
|
it 'completion' do
|
105
|
-
Article.es.completion('te', 'name.suggest').
|
105
|
+
expect(Article.es.completion('te', 'name.suggest')).to eq [
|
106
106
|
{"text"=>"test article name likes", "score"=>1.0},
|
107
107
|
{"text"=>"tests likely an another article title", "score"=>1.0}
|
108
108
|
]
|
@@ -121,35 +121,49 @@ describe Article do
|
|
121
121
|
end
|
122
122
|
|
123
123
|
it '#search' do
|
124
|
-
Article.es.search('test', per_page: 7, page: 2).to_a.size.
|
124
|
+
expect(Article.es.search('test', per_page: 7, page: 2).to_a.size).to eq 3
|
125
|
+
end
|
126
|
+
|
127
|
+
it 'paging works with empty results' do
|
128
|
+
result = Article.es.search('bad_request', per_page: 7, page: 1)
|
129
|
+
p result
|
130
|
+
expect(result.num_pages).to eq 0
|
131
|
+
expect(result.current_page).to eq 1
|
132
|
+
expect(result.total_entries).to eq 0
|
133
|
+
expect(result.previous_page).to be_nil
|
134
|
+
expect(result.next_page).to be_nil
|
135
|
+
expect(result.to_a.size).to eq 0
|
136
|
+
expect(result.out_of_bounds?).to be_truthy
|
137
|
+
expect(result.first_page?).to be_truthy
|
138
|
+
expect(result.last_page?).to be_truthy
|
125
139
|
end
|
126
140
|
|
127
141
|
it '#all' do
|
128
142
|
result = Article.es.all(per_page: 7, page: 2)
|
129
|
-
result.num_pages.
|
130
|
-
result.current_page.
|
131
|
-
result.total_entries.
|
132
|
-
result.previous_page.
|
133
|
-
result.next_page.
|
134
|
-
result.to_a.size.
|
135
|
-
result.out_of_bounds
|
136
|
-
result.first_page
|
137
|
-
result.last_page
|
143
|
+
expect(result.num_pages).to eq 2
|
144
|
+
expect(result.current_page).to eq 2
|
145
|
+
expect(result.total_entries).to eq 10
|
146
|
+
expect(result.previous_page).to eq 1
|
147
|
+
expect(result.next_page).to be_nil
|
148
|
+
expect(result.to_a.size).to eq 3
|
149
|
+
expect(result.out_of_bounds?).to be_falsey
|
150
|
+
expect(result.first_page?).to be_falsey
|
151
|
+
expect(result.last_page?).to be_truthy
|
138
152
|
|
139
153
|
p1 = Article.es.all(per_page: 7, page: 1)
|
140
|
-
p1.out_of_bounds
|
141
|
-
p1.first_page
|
142
|
-
p1.last_page
|
143
|
-
p1.current_page.
|
144
|
-
p1.next_page.
|
154
|
+
expect(p1.out_of_bounds?).to be_falsey
|
155
|
+
expect(p1.first_page?).to be_truthy
|
156
|
+
expect(p1.last_page?).to be_falsey
|
157
|
+
expect(p1.current_page).to eq 1
|
158
|
+
expect(p1.next_page).to eq 2
|
145
159
|
|
146
160
|
p3 = Article.es.all(per_page: 7, page: 3)
|
147
|
-
p3.out_of_bounds
|
161
|
+
expect(p3.out_of_bounds?).to be_truthy
|
148
162
|
|
149
|
-
p1.length.
|
163
|
+
expect(p1.length).to eq 7
|
150
164
|
all = (result.to_a + p1.to_a).map(&:id).map(&:to_s).sort
|
151
|
-
all.length.
|
152
|
-
all.
|
165
|
+
expect(all.length).to eq 10
|
166
|
+
expect(all).to eq @articles.map(&:id).map(&:to_s).sort
|
153
167
|
end
|
154
168
|
end
|
155
169
|
|
@@ -160,16 +174,16 @@ describe Article do
|
|
160
174
|
Article.es.index.refresh
|
161
175
|
end
|
162
176
|
it '#destroy' do
|
163
|
-
Article.es.all.count.
|
177
|
+
expect(Article.es.all.count).to eq 10
|
164
178
|
@articles[0].destroy
|
165
179
|
Article.es.index.refresh
|
166
|
-
Article.es.all.count.
|
180
|
+
expect(Article.es.all.count).to eq 9
|
167
181
|
end
|
168
182
|
it '#destroy_all' do
|
169
|
-
Article.es.all.count.
|
183
|
+
expect(Article.es.all.count).to eq 10
|
170
184
|
Article.destroy_all
|
171
185
|
Article.es.index.refresh
|
172
|
-
Article.es.all.count.
|
186
|
+
expect(Article.es.all.count).to eq 0
|
173
187
|
end
|
174
188
|
end
|
175
189
|
end
|
@@ -177,28 +191,28 @@ end
|
|
177
191
|
|
178
192
|
describe Post do
|
179
193
|
it 'properly uses options' do
|
180
|
-
Post.es_index_name.
|
181
|
-
Post.es_wrapper.
|
182
|
-
Post.es_client_options.
|
194
|
+
expect(Post.es_index_name).to eq 'mongoid_es_test_posts'
|
195
|
+
expect(Post.es_wrapper).to eq :model
|
196
|
+
expect(Post.es_client_options).to eq(DEFAULT_OPT)
|
183
197
|
end
|
184
198
|
|
185
199
|
context 'index operations' do
|
186
200
|
it 'does not create index with empty definition (ES will do it for us)' do
|
187
|
-
Post.es.index.exists
|
201
|
+
expect(Post.es.index.exists?).to be_falsey
|
188
202
|
Post.es.index.create
|
189
|
-
Post.es.index.exists
|
203
|
+
expect(Post.es.index.exists?).to be_falsey
|
190
204
|
end
|
191
205
|
it 'ES autocreates index on first index' do
|
192
|
-
Post.es.index.exists
|
206
|
+
expect(Post.es.index.exists?).to be_falsey
|
193
207
|
Post.create!(name: 'test post')
|
194
|
-
Post.es.index.exists
|
208
|
+
expect(Post.es.index.exists?).to be_truthy
|
195
209
|
end
|
196
210
|
end
|
197
211
|
|
198
212
|
context 'adding to index' do
|
199
213
|
it 'successfuly saves mongoid document' do
|
200
214
|
article = Post.new(name: 'test article name')
|
201
|
-
article.save.
|
215
|
+
expect(article.save).to be_truthy
|
202
216
|
end
|
203
217
|
end
|
204
218
|
|
@@ -210,11 +224,11 @@ describe Post do
|
|
210
224
|
end
|
211
225
|
|
212
226
|
it 'searches and returns models' do
|
213
|
-
Post.es.search('article').first.class.
|
227
|
+
expect(Post.es.search('article').first.class).to eq Post
|
214
228
|
sleep 1
|
215
|
-
Post.es.search('article').count.
|
216
|
-
Post.es.search('another').count.
|
217
|
-
Post.es.search('another').first.id.
|
229
|
+
expect(Post.es.search('article').count).to eq 2
|
230
|
+
expect(Post.es.search('another').count).to eq 1
|
231
|
+
expect(Post.es.search('another').first.id).to eq @post_2.id
|
218
232
|
end
|
219
233
|
end
|
220
234
|
|
@@ -225,21 +239,21 @@ describe Post do
|
|
225
239
|
end
|
226
240
|
|
227
241
|
it '#search' do
|
228
|
-
Post.es.search('test').size.
|
229
|
-
Post.es.search('test', per_page: 7, page: 2).to_a.size.
|
242
|
+
expect(Post.es.search('test').size).to eq 10
|
243
|
+
expect(Post.es.search('test', per_page: 7, page: 2).to_a.size).to eq 3
|
230
244
|
end
|
231
245
|
|
232
246
|
it '#all' do
|
233
|
-
Post.es.all.size.
|
234
|
-
Post.es.all(per_page: 7, page: 2).to_a.size.
|
247
|
+
expect(Post.es.all.size).to eq 10
|
248
|
+
expect(Post.es.all(per_page: 7, page: 2).to_a.size).to eq 3
|
235
249
|
end
|
236
250
|
end
|
237
251
|
end
|
238
252
|
|
239
253
|
describe Nowrapper do
|
240
254
|
it 'properly uses options' do
|
241
|
-
Nowrapper.es_index_name.
|
242
|
-
Nowrapper.es_wrapper.
|
255
|
+
expect(Nowrapper.es_index_name).to eq 'mongoid_es_test_nowrappers'
|
256
|
+
expect(Nowrapper.es_wrapper).to eq :none
|
243
257
|
end
|
244
258
|
|
245
259
|
context 'searching' do
|
@@ -251,10 +265,10 @@ describe Nowrapper do
|
|
251
265
|
|
252
266
|
it 'searches and returns hashes' do
|
253
267
|
# #count uses _count
|
254
|
-
Nowrapper.es.search('article').count.
|
268
|
+
expect(Nowrapper.es.search('article').count).to eq 2
|
255
269
|
# #size and #length fetch results
|
256
|
-
Nowrapper.es.search('article').length.
|
257
|
-
Nowrapper.es.search('article').first.class.
|
270
|
+
expect(Nowrapper.es.search('article').length).to eq 2
|
271
|
+
expect(Nowrapper.es.search('article').first.class).to eq Hash
|
258
272
|
end
|
259
273
|
end
|
260
274
|
end
|
@@ -278,50 +292,50 @@ describe "Multisearch" do
|
|
278
292
|
#pp response.results
|
279
293
|
#pp response.raw_response
|
280
294
|
#pp @article_1
|
281
|
-
response.length.
|
282
|
-
response.to_a.map(&:class).map(&:name).uniq.sort.
|
283
|
-
response.select { |r| r.class == Article && r.id == @article_1.id }.first.
|
295
|
+
expect(response.length).to eq 4
|
296
|
+
expect(response.to_a.map(&:class).map(&:name).uniq.sort).to eq ['Article', 'Namespaced::Model', 'Post']
|
297
|
+
expect(response.select { |r| r.class == Article && r.id == @article_1.id }.first).not_to be_nil
|
284
298
|
end
|
285
299
|
|
286
300
|
it '#multi_with_load' do
|
287
301
|
response = Mongoid::Elasticsearch.search 'test', wrapper: :load
|
288
|
-
response.length.
|
289
|
-
response.to_a.map(&:class).map(&:name).uniq.sort.
|
290
|
-
response.select { |r| r.class == Article && r.id == @article_1.id }.first.
|
302
|
+
expect(response.length).to eq 4
|
303
|
+
expect(response.to_a.map(&:class).map(&:name).uniq.sort).to eq ['Article', 'Namespaced::Model', 'Post']
|
304
|
+
expect(response.select { |r| r.class == Article && r.id == @article_1.id }.first).not_to be_nil
|
291
305
|
end
|
292
306
|
end
|
293
307
|
|
294
308
|
describe Namespaced::Model do
|
295
309
|
it 'properly uses options' do
|
296
|
-
Namespaced::Model.es_index_name.
|
297
|
-
Namespaced::Model.es.index.name.
|
298
|
-
Namespaced::Model.es.index.type.
|
299
|
-
Namespaced::Model.es_wrapper.
|
300
|
-
Namespaced::Model.es_client_options.
|
310
|
+
expect(Namespaced::Model.es_index_name).to eq 'mongoid_es_test_namespaced_models'
|
311
|
+
expect(Namespaced::Model.es.index.name).to eq 'mongoid_es_test_namespaced_models'
|
312
|
+
expect(Namespaced::Model.es.index.type).to eq 'namespaced/model'
|
313
|
+
expect(Namespaced::Model.es_wrapper).to eq :model
|
314
|
+
expect(Namespaced::Model.es_client_options).to eq(DEFAULT_OPT)
|
301
315
|
end
|
302
316
|
|
303
317
|
context 'index operations' do
|
304
318
|
it 'creates and destroys index' do
|
305
|
-
Namespaced::Model.es.index.exists
|
319
|
+
expect(Namespaced::Model.es.index.exists?).to be_truthy
|
306
320
|
Namespaced::Model.es.index.delete
|
307
|
-
Namespaced::Model.es.index.exists
|
321
|
+
expect(Namespaced::Model.es.index.exists?).to be_falsey
|
308
322
|
Namespaced::Model.es.index.create
|
309
|
-
Namespaced::Model.es.index.exists
|
323
|
+
expect(Namespaced::Model.es.index.exists?).to be_truthy
|
310
324
|
end
|
311
325
|
end
|
312
326
|
|
313
327
|
context 'adding to index' do
|
314
328
|
it 'successfuly saves mongoid document' do
|
315
329
|
article = Namespaced::Model.new(name: 'test article name')
|
316
|
-
article.save.
|
330
|
+
expect(article.save).to be_truthy
|
317
331
|
end
|
318
332
|
it 'successfuly destroys mongoid document' do
|
319
333
|
article = Namespaced::Model.create(name: 'test article name')
|
320
334
|
Namespaced::Model.es.index.refresh
|
321
|
-
Namespaced::Model.es.all.count.
|
335
|
+
expect(Namespaced::Model.es.all.count).to eq 1
|
322
336
|
article.destroy
|
323
337
|
Namespaced::Model.es.index.refresh
|
324
|
-
Namespaced::Model.es.all.count.
|
338
|
+
expect(Namespaced::Model.es.all.count).to eq 0
|
325
339
|
end
|
326
340
|
end
|
327
341
|
|
@@ -335,10 +349,10 @@ describe Namespaced::Model do
|
|
335
349
|
|
336
350
|
it 'searches and returns models' do
|
337
351
|
results = Namespaced::Model.es.search q: 'likely'
|
338
|
-
results.count.
|
339
|
-
results.to_a.count.
|
340
|
-
results.first.id.
|
341
|
-
results.first.name.
|
352
|
+
expect(results.count).to eq 1
|
353
|
+
expect(results.to_a.count).to eq 1
|
354
|
+
expect(results.first.id).to eq @article_2.id
|
355
|
+
expect(results.first.name).to eq @article_2.name
|
342
356
|
end
|
343
357
|
end
|
344
358
|
|
@@ -353,60 +367,60 @@ describe Namespaced::Model do
|
|
353
367
|
end
|
354
368
|
|
355
369
|
it '#search ignores irrelevant' do
|
356
|
-
Namespaced::Model.es.search('irrelevant').to_a.size.
|
357
|
-
Namespaced::Model.es.search('test', per_page: 30).to_a.size.
|
370
|
+
expect(Namespaced::Model.es.search('irrelevant').to_a.size).to eq 1
|
371
|
+
expect(Namespaced::Model.es.search('test', per_page: 30).to_a.size).to eq 20
|
358
372
|
end
|
359
373
|
|
360
374
|
it '#search dynamic wrapper' do
|
361
|
-
Namespaced::Model.es.search('test', wrapper: :hash).map(&:class).map(&:name).uniq.
|
362
|
-
Namespaced::Model.es.search('test', wrapper: :mash).map(&:class).map(&:name).uniq.
|
363
|
-
Namespaced::Model.es.search('test', wrapper: :mash).first.name.
|
375
|
+
expect(Namespaced::Model.es.search('test', wrapper: :hash).map(&:class).map(&:name).uniq).to eq ['Hash']
|
376
|
+
expect(Namespaced::Model.es.search('test', wrapper: :mash).map(&:class).map(&:name).uniq).to eq ['Hashie::Mash']
|
377
|
+
expect(Namespaced::Model.es.search('test', wrapper: :mash).first.name).to eq 'test'
|
364
378
|
end
|
365
379
|
|
366
380
|
it '#search' do
|
367
|
-
Namespaced::Model.es.search('test', per_page: 10, page: 2).to_a.size.
|
368
|
-
Namespaced::Model.es.search('test', per_page: 30, page: 2).to_a.size.
|
369
|
-
Namespaced::Model.es.search('test', per_page: 2, page: 2).to_a.size.
|
370
|
-
Namespaced::Model.es.search(body: {query: {query_string: {query: 'test'}}}, size: 50).to_a.length.
|
381
|
+
expect(Namespaced::Model.es.search('test', per_page: 10, page: 2).to_a.size).to eq 10
|
382
|
+
expect(Namespaced::Model.es.search('test', per_page: 30, page: 2).to_a.size).to eq 0
|
383
|
+
expect(Namespaced::Model.es.search('test', per_page: 2, page: 2).to_a.size).to eq 2
|
384
|
+
expect(Namespaced::Model.es.search(body: {query: {query_string: {query: 'test'}}}, size: 50).to_a.length).to eq 20
|
371
385
|
end
|
372
386
|
|
373
387
|
it 'bulk index' do
|
374
388
|
Namespaced::Model.es.index.reset
|
375
389
|
Namespaced::Model.es.index_all
|
376
390
|
Namespaced::Model.es.index.refresh
|
377
|
-
Namespaced::Model.es.search('test', per_page: 10, page: 2).to_a.size.
|
378
|
-
Namespaced::Model.es.search('test', per_page: 30, page: 2).to_a.size.
|
379
|
-
Namespaced::Model.es.search('test', per_page: 2, page: 2).to_a.size.
|
380
|
-
Namespaced::Model.es.search(body: {query: {query_string: {query: 'test'}}}, size: 50).to_a.length.
|
391
|
+
expect(Namespaced::Model.es.search('test', per_page: 10, page: 2).to_a.size).to eq 10
|
392
|
+
expect(Namespaced::Model.es.search('test', per_page: 30, page: 2).to_a.size).to eq 0
|
393
|
+
expect(Namespaced::Model.es.search('test', per_page: 2, page: 2).to_a.size).to eq 2
|
394
|
+
expect(Namespaced::Model.es.search(body: {query: {query_string: {query: 'test'}}}, size: 50).to_a.length).to eq 20
|
381
395
|
end
|
382
396
|
|
383
397
|
|
384
398
|
it '#all' do
|
385
399
|
result = Namespaced::Model.es.all(per_page: 7, page: 3)
|
386
|
-
result.num_pages.
|
387
|
-
result.to_a.size.
|
400
|
+
expect(result.num_pages).to eq 4
|
401
|
+
expect(result.to_a.size).to eq 7
|
388
402
|
p1 = Namespaced::Model.es.all(per_page: 7, page: 1).to_a
|
389
403
|
p2 = Namespaced::Model.es.all(per_page: 7, page: 2).to_a
|
390
404
|
p4 = Namespaced::Model.es.all(per_page: 7, page: 4).to_a
|
391
|
-
p1.length.
|
392
|
-
p2.length.
|
393
|
-
p4.length.
|
405
|
+
expect(p1.length).to eq 7
|
406
|
+
expect(p2.length).to eq 7
|
407
|
+
expect(p4.length).to eq 1
|
394
408
|
all = (p1 + p2 + result.to_a + p4).map(&:id).map(&:to_s).sort
|
395
|
-
all.length.
|
396
|
-
all.
|
409
|
+
expect(all.length).to eq 22
|
410
|
+
expect(all).to eq (@articles + [@a1, @a2]).map(&:id).map(&:to_s).sort
|
397
411
|
end
|
398
412
|
end
|
399
413
|
end
|
400
414
|
|
401
415
|
describe 'utils' do
|
402
416
|
it 'doesnt strip non-ascii text' do
|
403
|
-
Mongoid::Elasticsearch::Utils.clean('тест {{').
|
417
|
+
expect(Mongoid::Elasticsearch::Utils.clean('тест {{')).to eq 'тест'
|
404
418
|
end
|
405
419
|
it 'doesnt strip good white space' do
|
406
|
-
Mongoid::Elasticsearch::Utils.clean('test test').
|
420
|
+
expect(Mongoid::Elasticsearch::Utils.clean('test test')).to eq 'test test'
|
407
421
|
end
|
408
422
|
it 'strip extra white space' do
|
409
|
-
Mongoid::Elasticsearch::Utils.clean(' test test ').
|
423
|
+
expect(Mongoid::Elasticsearch::Utils.clean(' test test ')).to eq 'test test'
|
410
424
|
end
|
411
425
|
end
|
412
426
|
|
@@ -414,13 +428,13 @@ end
|
|
414
428
|
describe 'no autocreate' do
|
415
429
|
it "desn't create index automatically" do
|
416
430
|
NoAutocreate.es.index.delete
|
417
|
-
NoAutocreate.es.index.exists
|
431
|
+
expect(NoAutocreate.es.index.exists?).to be_falsey
|
418
432
|
|
419
433
|
Mongoid::Elasticsearch.create_all_indexes!
|
420
|
-
NoAutocreate.es.index.exists
|
434
|
+
expect(NoAutocreate.es.index.exists?).to be_falsey
|
421
435
|
|
422
436
|
NoAutocreate.es.index.force_create
|
423
|
-
NoAutocreate.es.index.exists
|
437
|
+
expect(NoAutocreate.es.index.exists?).to be_truthy
|
424
438
|
|
425
439
|
NoAutocreate.es.index.delete
|
426
440
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid-elasticsearch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- glebtv
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mongoid
|