@feathersjs/adapter-tests 5.0.0-pre.6 → 5.0.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.
package/src/syntax.ts CHANGED
@@ -1,50 +1,51 @@
1
- import assert from 'assert';
1
+ import assert from 'assert'
2
+ import { AdapterSyntaxTest } from './declarations'
2
3
 
3
- export default (test: any, app: any, _errors: any, serviceName: string, idProp: string) => {
4
+ export default (test: AdapterSyntaxTest, app: any, _errors: any, serviceName: string, idProp: string) => {
4
5
  describe('Query Syntax', () => {
5
- let bob: any;
6
- let alice: any;
7
- let doug: any;
8
- let service: any;
6
+ let bob: any
7
+ let alice: any
8
+ let doug: any
9
+ let service: any
9
10
 
10
11
  beforeEach(async () => {
11
- service = app.service(serviceName);
12
+ service = app.service(serviceName)
12
13
  bob = await app.service(serviceName).create({
13
14
  name: 'Bob',
14
15
  age: 25
15
- });
16
+ })
16
17
  doug = await app.service(serviceName).create({
17
18
  name: 'Doug',
18
19
  age: 32
19
- });
20
+ })
20
21
  alice = await app.service(serviceName).create({
21
22
  name: 'Alice',
22
23
  age: 19
23
- });
24
- });
24
+ })
25
+ })
25
26
 
26
27
  afterEach(async () => {
27
- await service.remove(bob[idProp]);
28
- await service.remove(alice[idProp]);
29
- await service.remove(doug[idProp]);
30
- });
28
+ await service.remove(bob[idProp])
29
+ await service.remove(alice[idProp])
30
+ await service.remove(doug[idProp])
31
+ })
31
32
 
32
33
  test('.find + equal', async () => {
33
- const params = { query: { name: 'Alice' } };
34
- const data = await service.find(params);
34
+ const params = { query: { name: 'Alice' } }
35
+ const data = await service.find(params)
35
36
 
36
- assert.ok(Array.isArray(data));
37
- assert.strictEqual(data.length, 1);
38
- assert.strictEqual(data[0].name, 'Alice');
39
- });
37
+ assert.ok(Array.isArray(data))
38
+ assert.strictEqual(data.length, 1)
39
+ assert.strictEqual(data[0].name, 'Alice')
40
+ })
40
41
 
41
42
  test('.find + equal multiple', async () => {
42
43
  const data = await service.find({
43
44
  query: { name: 'Alice', age: 20 }
44
- });
45
+ })
45
46
 
46
- assert.strictEqual(data.length, 0);
47
- });
47
+ assert.strictEqual(data.length, 0)
48
+ })
48
49
 
49
50
  describe('special filters', () => {
50
51
  test('.find + $sort', async () => {
@@ -52,57 +53,57 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
52
53
  query: {
53
54
  $sort: { name: 1 }
54
55
  }
55
- });
56
+ })
56
57
 
57
- assert.strictEqual(data.length, 3);
58
- assert.strictEqual(data[0].name, 'Alice');
59
- assert.strictEqual(data[1].name, 'Bob');
60
- assert.strictEqual(data[2].name, 'Doug');
58
+ assert.strictEqual(data.length, 3)
59
+ assert.strictEqual(data[0].name, 'Alice')
60
+ assert.strictEqual(data[1].name, 'Bob')
61
+ assert.strictEqual(data[2].name, 'Doug')
61
62
 
62
63
  data = await service.find({
63
64
  query: {
64
65
  $sort: { name: -1 }
65
66
  }
66
- });
67
+ })
67
68
 
68
- assert.strictEqual(data.length, 3);
69
- assert.strictEqual(data[0].name, 'Doug');
70
- assert.strictEqual(data[1].name, 'Bob');
71
- assert.strictEqual(data[2].name, 'Alice');
72
- });
69
+ assert.strictEqual(data.length, 3)
70
+ assert.strictEqual(data[0].name, 'Doug')
71
+ assert.strictEqual(data[1].name, 'Bob')
72
+ assert.strictEqual(data[2].name, 'Alice')
73
+ })
73
74
 
74
75
  test('.find + $sort + string', async () => {
75
76
  const data = await service.find({
76
77
  query: {
77
78
  $sort: { name: '1' }
78
79
  }
79
- });
80
+ })
80
81
 
81
- assert.strictEqual(data.length, 3);
82
- assert.strictEqual(data[0].name, 'Alice');
83
- assert.strictEqual(data[1].name, 'Bob');
84
- assert.strictEqual(data[2].name, 'Doug');
85
- });
82
+ assert.strictEqual(data.length, 3)
83
+ assert.strictEqual(data[0].name, 'Alice')
84
+ assert.strictEqual(data[1].name, 'Bob')
85
+ assert.strictEqual(data[2].name, 'Doug')
86
+ })
86
87
 
87
88
  test('.find + $limit', async () => {
88
89
  const data = await service.find({
89
90
  query: {
90
91
  $limit: 2
91
92
  }
92
- });
93
+ })
93
94
 
94
- assert.strictEqual(data.length, 2);
95
- });
95
+ assert.strictEqual(data.length, 2)
96
+ })
96
97
 
97
98
  test('.find + $limit 0', async () => {
98
99
  const data = await service.find({
99
100
  query: {
100
101
  $limit: 0
101
102
  }
102
- });
103
+ })
103
104
 
104
- assert.strictEqual(data.length, 0);
105
- });
105
+ assert.strictEqual(data.length, 0)
106
+ })
106
107
 
107
108
  test('.find + $skip', async () => {
108
109
  const data = await service.find({
@@ -110,12 +111,12 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
110
111
  $sort: { name: 1 },
111
112
  $skip: 1
112
113
  }
113
- });
114
+ })
114
115
 
115
- assert.strictEqual(data.length, 2);
116
- assert.strictEqual(data[0].name, 'Bob');
117
- assert.strictEqual(data[1].name, 'Doug');
118
- });
116
+ assert.strictEqual(data.length, 2)
117
+ assert.strictEqual(data[0].name, 'Bob')
118
+ assert.strictEqual(data[1].name, 'Doug')
119
+ })
119
120
 
120
121
  test('.find + $select', async () => {
121
122
  const data = await service.find({
@@ -123,28 +124,25 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
123
124
  name: 'Alice',
124
125
  $select: ['name']
125
126
  }
126
- });
127
+ })
127
128
 
128
- assert.strictEqual(data.length, 1);
129
- assert.strictEqual(data[0].name, 'Alice');
130
- assert.strictEqual(data[0].age, undefined);
131
- });
129
+ assert.strictEqual(data.length, 1)
130
+ assert.strictEqual(data[0].name, 'Alice')
131
+ assert.strictEqual(data[0].age, undefined)
132
+ })
132
133
 
133
134
  test('.find + $or', async () => {
134
135
  const data = await service.find({
135
136
  query: {
136
- $or: [
137
- { name: 'Alice' },
138
- { name: 'Bob' }
139
- ],
137
+ $or: [{ name: 'Alice' }, { name: 'Bob' }],
140
138
  $sort: { name: 1 }
141
139
  }
142
- });
140
+ })
143
141
 
144
- assert.strictEqual(data.length, 2);
145
- assert.strictEqual(data[0].name, 'Alice');
146
- assert.strictEqual(data[1].name, 'Bob');
147
- });
142
+ assert.strictEqual(data.length, 2)
143
+ assert.strictEqual(data[0].name, 'Alice')
144
+ assert.strictEqual(data[1].name, 'Bob')
145
+ })
148
146
 
149
147
  test('.find + $in', async () => {
150
148
  const data = await service.find({
@@ -154,25 +152,25 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
154
152
  },
155
153
  $sort: { name: 1 }
156
154
  }
157
- });
155
+ })
158
156
 
159
- assert.strictEqual(data.length, 2);
160
- assert.strictEqual(data[0].name, 'Alice');
161
- assert.strictEqual(data[1].name, 'Bob');
162
- });
157
+ assert.strictEqual(data.length, 2)
158
+ assert.strictEqual(data[0].name, 'Alice')
159
+ assert.strictEqual(data[1].name, 'Bob')
160
+ })
163
161
 
164
162
  test('.find + $nin', async () => {
165
163
  const data = await service.find({
166
164
  query: {
167
165
  name: {
168
- $nin: [ 'Alice', 'Bob' ]
166
+ $nin: ['Alice', 'Bob']
169
167
  }
170
168
  }
171
- });
169
+ })
172
170
 
173
- assert.strictEqual(data.length, 1);
174
- assert.strictEqual(data[0].name, 'Doug');
175
- });
171
+ assert.strictEqual(data.length, 1)
172
+ assert.strictEqual(data[0].name, 'Doug')
173
+ })
176
174
 
177
175
  test('.find + $lt', async () => {
178
176
  const data = await service.find({
@@ -181,10 +179,10 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
181
179
  $lt: 30
182
180
  }
183
181
  }
184
- });
182
+ })
185
183
 
186
- assert.strictEqual(data.length, 2);
187
- });
184
+ assert.strictEqual(data.length, 2)
185
+ })
188
186
 
189
187
  test('.find + $lte', async () => {
190
188
  const data = await service.find({
@@ -193,10 +191,10 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
193
191
  $lte: 25
194
192
  }
195
193
  }
196
- });
194
+ })
197
195
 
198
- assert.strictEqual(data.length, 2);
199
- });
196
+ assert.strictEqual(data.length, 2)
197
+ })
200
198
 
201
199
  test('.find + $gt', async () => {
202
200
  const data = await service.find({
@@ -205,10 +203,10 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
205
203
  $gt: 30
206
204
  }
207
205
  }
208
- });
206
+ })
209
207
 
210
- assert.strictEqual(data.length, 1);
211
- });
208
+ assert.strictEqual(data.length, 1)
209
+ })
212
210
 
213
211
  test('.find + $gte', async () => {
214
212
  const data = await service.find({
@@ -217,10 +215,10 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
217
215
  $gte: 25
218
216
  }
219
217
  }
220
- });
218
+ })
221
219
 
222
- assert.strictEqual(data.length, 2);
223
- });
220
+ assert.strictEqual(data.length, 2)
221
+ })
224
222
 
225
223
  test('.find + $ne', async () => {
226
224
  const data = await service.find({
@@ -229,11 +227,11 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
229
227
  $ne: 25
230
228
  }
231
229
  }
232
- });
230
+ })
233
231
 
234
- assert.strictEqual(data.length, 2);
235
- });
236
- });
232
+ assert.strictEqual(data.length, 2)
233
+ })
234
+ })
237
235
 
238
236
  test('.find + $gt + $lt + $sort', async () => {
239
237
  const params = {
@@ -244,14 +242,14 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
244
242
  },
245
243
  $sort: { name: 1 }
246
244
  }
247
- };
245
+ }
248
246
 
249
- const data = await service.find(params);
247
+ const data = await service.find(params)
250
248
 
251
- assert.strictEqual(data.length, 2);
252
- assert.strictEqual(data[0].name, 'Alice');
253
- assert.strictEqual(data[1].name, 'Bob');
254
- });
249
+ assert.strictEqual(data.length, 2)
250
+ assert.strictEqual(data[0].name, 'Alice')
251
+ assert.strictEqual(data[1].name, 'Bob')
252
+ })
255
253
 
256
254
  test('.find + $or nested + $sort', async () => {
257
255
  const params = {
@@ -267,14 +265,42 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
267
265
  ],
268
266
  $sort: { name: 1 }
269
267
  }
270
- };
268
+ }
271
269
 
272
- const data = await service.find(params);
270
+ const data = await service.find(params)
273
271
 
274
- assert.strictEqual(data.length, 2);
275
- assert.strictEqual(data[0].name, 'Alice');
276
- assert.strictEqual(data[1].name, 'Doug');
277
- });
272
+ assert.strictEqual(data.length, 2)
273
+ assert.strictEqual(data[0].name, 'Alice')
274
+ assert.strictEqual(data[1].name, 'Doug')
275
+ })
276
+
277
+ test('.find + $and', async () => {
278
+ const params = {
279
+ query: {
280
+ $and: [{ age: 19 }],
281
+ $sort: { name: 1 }
282
+ }
283
+ }
284
+
285
+ const data = await service.find(params)
286
+
287
+ assert.strictEqual(data.length, 1)
288
+ assert.strictEqual(data[0].name, 'Alice')
289
+ })
290
+
291
+ test('.find + $and + $or', async () => {
292
+ const params = {
293
+ query: {
294
+ $and: [{ $or: [{ name: 'Alice' }] }],
295
+ $sort: { name: 1 }
296
+ }
297
+ }
298
+
299
+ const data = await service.find(params)
300
+
301
+ assert.strictEqual(data.length, 1)
302
+ assert.strictEqual(data[0].name, 'Alice')
303
+ })
278
304
 
279
305
  describe('params.adapter', () => {
280
306
  test('params.adapter + paginate', async () => {
@@ -282,11 +308,11 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
282
308
  adapter: {
283
309
  paginate: { default: 3 }
284
310
  }
285
- });
286
-
287
- assert.strictEqual(page.limit, 3);
288
- assert.strictEqual(page.skip, 0);
289
- });
311
+ })
312
+
313
+ assert.strictEqual(page.limit, 3)
314
+ assert.strictEqual(page.skip, 0)
315
+ })
290
316
 
291
317
  test('params.adapter + multi', async () => {
292
318
  const items = [
@@ -298,46 +324,46 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
298
324
  name: 'Harald',
299
325
  age: 24
300
326
  }
301
- ];
327
+ ]
302
328
  const multiParams = {
303
329
  adapter: {
304
330
  multi: ['create']
305
331
  }
306
- };
307
- const users = await service.create(items, multiParams);
332
+ }
333
+ const users = await service.create(items, multiParams)
334
+
335
+ assert.strictEqual(users.length, 2)
308
336
 
309
- assert.strictEqual(users.length, 2);
310
-
311
- await service.remove(users[0][idProp]);
312
- await service.remove(users[1][idProp]);
337
+ await service.remove(users[0][idProp])
338
+ await service.remove(users[1][idProp])
313
339
  await assert.rejects(() => service.patch(null, { age: 2 }, multiParams), {
314
340
  message: 'Can not patch multiple entries'
315
- });
316
- });
317
- });
341
+ })
342
+ })
343
+ })
318
344
 
319
345
  describe('paginate', function () {
320
346
  beforeEach(() => {
321
347
  service.options.paginate = {
322
348
  default: 1,
323
349
  max: 2
324
- };
325
- });
350
+ }
351
+ })
326
352
 
327
353
  afterEach(() => {
328
- service.options.paginate = {};
329
- });
354
+ service.options.paginate = {}
355
+ })
330
356
 
331
357
  test('.find + paginate', async () => {
332
358
  const page = await service.find({
333
359
  query: { $sort: { name: -1 } }
334
- });
360
+ })
335
361
 
336
- assert.strictEqual(page.total, 3);
337
- assert.strictEqual(page.limit, 1);
338
- assert.strictEqual(page.skip, 0);
339
- assert.strictEqual(page.data[0].name, 'Doug');
340
- });
362
+ assert.strictEqual(page.total, 3)
363
+ assert.strictEqual(page.limit, 1)
364
+ assert.strictEqual(page.skip, 0)
365
+ assert.strictEqual(page.data[0].name, 'Doug')
366
+ })
341
367
 
342
368
  test('.find + paginate + query', async () => {
343
369
  const page = await service.find({
@@ -345,13 +371,13 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
345
371
  $sort: { name: -1 },
346
372
  name: 'Doug'
347
373
  }
348
- });
374
+ })
349
375
 
350
- assert.strictEqual(page.total, 1);
351
- assert.strictEqual(page.limit, 1);
352
- assert.strictEqual(page.skip, 0);
353
- assert.strictEqual(page.data[0].name, 'Doug');
354
- });
376
+ assert.strictEqual(page.total, 1)
377
+ assert.strictEqual(page.limit, 1)
378
+ assert.strictEqual(page.skip, 0)
379
+ assert.strictEqual(page.data[0].name, 'Doug')
380
+ })
355
381
 
356
382
  test('.find + paginate + $limit + $skip', async () => {
357
383
  const params = {
@@ -360,37 +386,37 @@ export default (test: any, app: any, _errors: any, serviceName: string, idProp:
360
386
  $limit: 4,
361
387
  $sort: { name: -1 }
362
388
  }
363
- };
389
+ }
364
390
 
365
- const page = await service.find(params);
391
+ const page = await service.find(params)
366
392
 
367
- assert.strictEqual(page.total, 3);
368
- assert.strictEqual(page.limit, 2);
369
- assert.strictEqual(page.skip, 1);
370
- assert.strictEqual(page.data[0].name, 'Bob');
371
- assert.strictEqual(page.data[1].name, 'Alice');
372
- });
393
+ assert.strictEqual(page.total, 3)
394
+ assert.strictEqual(page.limit, 2)
395
+ assert.strictEqual(page.skip, 1)
396
+ assert.strictEqual(page.data[0].name, 'Bob')
397
+ assert.strictEqual(page.data[1].name, 'Alice')
398
+ })
373
399
 
374
400
  test('.find + paginate + $limit 0', async () => {
375
401
  const page = await service.find({
376
402
  query: { $limit: 0 }
377
- });
403
+ })
378
404
 
379
- assert.strictEqual(page.total, 3);
380
- assert.strictEqual(page.data.length, 0);
381
- });
405
+ assert.strictEqual(page.total, 3)
406
+ assert.strictEqual(page.data.length, 0)
407
+ })
382
408
 
383
409
  test('.find + paginate + params', async () => {
384
- const page = await service.find({ paginate: { default: 3 } });
410
+ const page = await service.find({ paginate: { default: 3 } })
385
411
 
386
- assert.strictEqual(page.limit, 3);
387
- assert.strictEqual(page.skip, 0);
412
+ assert.strictEqual(page.limit, 3)
413
+ assert.strictEqual(page.skip, 0)
388
414
 
389
- const results = await service.find({ paginate: false });
415
+ const results = await service.find({ paginate: false })
390
416
 
391
- assert.ok(Array.isArray(results));
392
- assert.strictEqual(results.length, 3);
393
- });
394
- });
395
- });
396
- };
417
+ assert.ok(Array.isArray(results))
418
+ assert.strictEqual(results.length, 3)
419
+ })
420
+ })
421
+ })
422
+ }