@feathersjs/adapter-tests 5.0.0-pre.1 → 5.0.0-pre.15
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/CHANGELOG.md +158 -4
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/lib/index.js +3 -3
- package/lib/index.js.map +1 -1
- package/lib/methods.js +131 -140
- package/lib/methods.js.map +1 -1
- package/lib/syntax.js +125 -87
- package/lib/syntax.js.map +1 -1
- package/package.json +12 -10
- package/src/methods.ts +18 -18
- package/src/syntax.ts +54 -0
package/lib/methods.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -17,37 +8,37 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
17
8
|
describe(' Methods', () => {
|
|
18
9
|
let doug;
|
|
19
10
|
let service;
|
|
20
|
-
beforeEach(() =>
|
|
11
|
+
beforeEach(async () => {
|
|
21
12
|
service = app.service(serviceName);
|
|
22
|
-
doug =
|
|
13
|
+
doug = await app.service(serviceName).create({
|
|
23
14
|
name: 'Doug',
|
|
24
15
|
age: 32
|
|
25
16
|
});
|
|
26
|
-
})
|
|
27
|
-
afterEach(() =>
|
|
17
|
+
});
|
|
18
|
+
afterEach(async () => {
|
|
28
19
|
try {
|
|
29
|
-
|
|
20
|
+
await app.service(serviceName).remove(doug[idProp]);
|
|
30
21
|
}
|
|
31
22
|
catch (error) { }
|
|
32
|
-
})
|
|
23
|
+
});
|
|
33
24
|
describe('get', () => {
|
|
34
|
-
test('.get', () =>
|
|
35
|
-
const data =
|
|
25
|
+
test('.get', async () => {
|
|
26
|
+
const data = await service.get(doug[idProp]);
|
|
36
27
|
assert_1.default.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id matches`);
|
|
37
28
|
assert_1.default.strictEqual(data.name, 'Doug', 'data.name matches');
|
|
38
29
|
assert_1.default.strictEqual(data.age, 32, 'data.age matches');
|
|
39
|
-
})
|
|
40
|
-
test('.get + $select', () =>
|
|
41
|
-
const data =
|
|
30
|
+
});
|
|
31
|
+
test('.get + $select', async () => {
|
|
32
|
+
const data = await service.get(doug[idProp], {
|
|
42
33
|
query: { $select: ['name'] }
|
|
43
34
|
});
|
|
44
35
|
assert_1.default.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id property matches`);
|
|
45
36
|
assert_1.default.strictEqual(data.name, 'Doug', 'data.name matches');
|
|
46
37
|
assert_1.default.ok(!data.age, 'data.age is falsy');
|
|
47
|
-
})
|
|
48
|
-
test('.get + id + query', () =>
|
|
38
|
+
});
|
|
39
|
+
test('.get + id + query', async () => {
|
|
49
40
|
try {
|
|
50
|
-
|
|
41
|
+
await service.get(doug[idProp], {
|
|
51
42
|
query: { name: 'Tester' }
|
|
52
43
|
});
|
|
53
44
|
throw new Error('Should never get here');
|
|
@@ -55,23 +46,23 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
55
46
|
catch (error) {
|
|
56
47
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Got a NotFound Feathers error');
|
|
57
48
|
}
|
|
58
|
-
})
|
|
59
|
-
test('.get + NotFound', () =>
|
|
49
|
+
});
|
|
50
|
+
test('.get + NotFound', async () => {
|
|
60
51
|
try {
|
|
61
|
-
|
|
52
|
+
await service.get('568225fbfe21222432e836ff');
|
|
62
53
|
throw new Error('Should never get here');
|
|
63
54
|
}
|
|
64
55
|
catch (error) {
|
|
65
56
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Error is a NotFound Feathers error');
|
|
66
57
|
}
|
|
67
|
-
})
|
|
68
|
-
test('.get + id + query id', () =>
|
|
69
|
-
const alice =
|
|
58
|
+
});
|
|
59
|
+
test('.get + id + query id', async () => {
|
|
60
|
+
const alice = await service.create({
|
|
70
61
|
name: 'Alice',
|
|
71
62
|
age: 12
|
|
72
63
|
});
|
|
73
64
|
try {
|
|
74
|
-
|
|
65
|
+
await service.get(doug[idProp], {
|
|
75
66
|
query: { [idProp]: alice[idProp] }
|
|
76
67
|
});
|
|
77
68
|
throw new Error('Should never get here');
|
|
@@ -79,31 +70,31 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
79
70
|
catch (error) {
|
|
80
71
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Got a NotFound Feathers error');
|
|
81
72
|
}
|
|
82
|
-
|
|
83
|
-
})
|
|
73
|
+
await service.remove(alice[idProp]);
|
|
74
|
+
});
|
|
84
75
|
});
|
|
85
76
|
describe('find', () => {
|
|
86
|
-
test('.find', () =>
|
|
87
|
-
const data =
|
|
77
|
+
test('.find', async () => {
|
|
78
|
+
const data = await service.find();
|
|
88
79
|
assert_1.default.ok(Array.isArray(data), 'Data is an array');
|
|
89
80
|
assert_1.default.strictEqual(data.length, 1, 'Got one entry');
|
|
90
|
-
})
|
|
81
|
+
});
|
|
91
82
|
});
|
|
92
83
|
describe('remove', () => {
|
|
93
|
-
test('.remove', () =>
|
|
94
|
-
const data =
|
|
84
|
+
test('.remove', async () => {
|
|
85
|
+
const data = await service.remove(doug[idProp]);
|
|
95
86
|
assert_1.default.strictEqual(data.name, 'Doug', 'data.name matches');
|
|
96
|
-
})
|
|
97
|
-
test('.remove + $select', () =>
|
|
98
|
-
const data =
|
|
87
|
+
});
|
|
88
|
+
test('.remove + $select', async () => {
|
|
89
|
+
const data = await service.remove(doug[idProp], {
|
|
99
90
|
query: { $select: ['name'] }
|
|
100
91
|
});
|
|
101
92
|
assert_1.default.strictEqual(data.name, 'Doug', 'data.name matches');
|
|
102
93
|
assert_1.default.ok(!data.age, 'data.age is falsy');
|
|
103
|
-
})
|
|
104
|
-
test('.remove + id + query', () =>
|
|
94
|
+
});
|
|
95
|
+
test('.remove + id + query', async () => {
|
|
105
96
|
try {
|
|
106
|
-
|
|
97
|
+
await service.remove(doug[idProp], {
|
|
107
98
|
query: { name: 'Tester' }
|
|
108
99
|
});
|
|
109
100
|
throw new Error('Should never get here');
|
|
@@ -111,37 +102,37 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
111
102
|
catch (error) {
|
|
112
103
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Got a NotFound Feathers error');
|
|
113
104
|
}
|
|
114
|
-
})
|
|
115
|
-
test('.remove + multi', () =>
|
|
105
|
+
});
|
|
106
|
+
test('.remove + multi', async () => {
|
|
116
107
|
try {
|
|
117
|
-
|
|
108
|
+
await service.remove(null);
|
|
118
109
|
throw new Error('Should never get here');
|
|
119
110
|
}
|
|
120
111
|
catch (error) {
|
|
121
112
|
assert_1.default.strictEqual(error.name, 'MethodNotAllowed', 'Removing multiple without option set throws MethodNotAllowed');
|
|
122
113
|
}
|
|
123
114
|
service.options.multi = ['remove'];
|
|
124
|
-
|
|
125
|
-
|
|
115
|
+
await service.create({ name: 'Dave', age: 29, created: true });
|
|
116
|
+
await service.create({
|
|
126
117
|
name: 'David',
|
|
127
118
|
age: 3,
|
|
128
119
|
created: true
|
|
129
120
|
});
|
|
130
|
-
const data =
|
|
121
|
+
const data = await service.remove(null, {
|
|
131
122
|
query: { created: true }
|
|
132
123
|
});
|
|
133
124
|
assert_1.default.strictEqual(data.length, 2);
|
|
134
125
|
const names = data.map((person) => person.name);
|
|
135
126
|
assert_1.default.ok(names.includes('Dave'), 'Dave removed');
|
|
136
127
|
assert_1.default.ok(names.includes('David'), 'David removed');
|
|
137
|
-
})
|
|
138
|
-
test('.remove + id + query id', () =>
|
|
139
|
-
const alice =
|
|
128
|
+
});
|
|
129
|
+
test('.remove + id + query id', async () => {
|
|
130
|
+
const alice = await service.create({
|
|
140
131
|
name: 'Alice',
|
|
141
132
|
age: 12
|
|
142
133
|
});
|
|
143
134
|
try {
|
|
144
|
-
|
|
135
|
+
await service.remove(doug[idProp], {
|
|
145
136
|
query: { [idProp]: alice[idProp] }
|
|
146
137
|
});
|
|
147
138
|
throw new Error('Should never get here');
|
|
@@ -149,34 +140,34 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
149
140
|
catch (error) {
|
|
150
141
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Got a NotFound Feathers error');
|
|
151
142
|
}
|
|
152
|
-
|
|
153
|
-
})
|
|
143
|
+
await service.remove(alice[idProp]);
|
|
144
|
+
});
|
|
154
145
|
});
|
|
155
146
|
describe('update', () => {
|
|
156
|
-
test('.update', () =>
|
|
147
|
+
test('.update', async () => {
|
|
157
148
|
const originalData = { [idProp]: doug[idProp], name: 'Dougler' };
|
|
158
149
|
const originalCopy = Object.assign({}, originalData);
|
|
159
|
-
const data =
|
|
150
|
+
const data = await service.update(doug[idProp], originalData);
|
|
160
151
|
assert_1.default.deepStrictEqual(originalData, originalCopy, 'data was not modified');
|
|
161
152
|
assert_1.default.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id matches`);
|
|
162
153
|
assert_1.default.strictEqual(data.name, 'Dougler', 'data.name matches');
|
|
163
154
|
assert_1.default.ok(!data.age, 'data.age is falsy');
|
|
164
|
-
})
|
|
165
|
-
test('.update + $select', () =>
|
|
155
|
+
});
|
|
156
|
+
test('.update + $select', async () => {
|
|
166
157
|
const originalData = {
|
|
167
158
|
[idProp]: doug[idProp],
|
|
168
159
|
name: 'Dougler',
|
|
169
160
|
age: 10
|
|
170
161
|
};
|
|
171
|
-
const data =
|
|
162
|
+
const data = await service.update(doug[idProp], originalData, {
|
|
172
163
|
query: { $select: ['name'] }
|
|
173
164
|
});
|
|
174
165
|
assert_1.default.strictEqual(data.name, 'Dougler', 'data.name matches');
|
|
175
166
|
assert_1.default.ok(!data.age, 'data.age is falsy');
|
|
176
|
-
})
|
|
177
|
-
test('.update + id + query', () =>
|
|
167
|
+
});
|
|
168
|
+
test('.update + id + query', async () => {
|
|
178
169
|
try {
|
|
179
|
-
|
|
170
|
+
await service.update(doug[idProp], {
|
|
180
171
|
name: 'Dougler'
|
|
181
172
|
}, {
|
|
182
173
|
query: { name: 'Tester' }
|
|
@@ -186,34 +177,34 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
186
177
|
catch (error) {
|
|
187
178
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Got a NotFound Feathers error');
|
|
188
179
|
}
|
|
189
|
-
})
|
|
190
|
-
test('.update + NotFound', () =>
|
|
180
|
+
});
|
|
181
|
+
test('.update + NotFound', async () => {
|
|
191
182
|
try {
|
|
192
|
-
|
|
183
|
+
await service.update('568225fbfe21222432e836ff', { name: 'NotFound' });
|
|
193
184
|
throw new Error('Should never get here');
|
|
194
185
|
}
|
|
195
186
|
catch (error) {
|
|
196
187
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Error is a NotFound Feathers error');
|
|
197
188
|
}
|
|
198
|
-
})
|
|
199
|
-
test('.update + query + NotFound', () =>
|
|
200
|
-
const dave =
|
|
189
|
+
});
|
|
190
|
+
test('.update + query + NotFound', async () => {
|
|
191
|
+
const dave = await service.create({ name: 'Dave' });
|
|
201
192
|
try {
|
|
202
|
-
|
|
193
|
+
await service.update(dave[idProp], { name: 'UpdatedDave' }, { query: { name: 'NotDave' } });
|
|
203
194
|
throw new Error('Should never get here');
|
|
204
195
|
}
|
|
205
196
|
catch (error) {
|
|
206
197
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Error is a NotFound Feathers error');
|
|
207
198
|
}
|
|
208
|
-
|
|
209
|
-
})
|
|
210
|
-
test('.update + id + query id', () =>
|
|
211
|
-
const alice =
|
|
199
|
+
await service.remove(dave[idProp]);
|
|
200
|
+
});
|
|
201
|
+
test('.update + id + query id', async () => {
|
|
202
|
+
const alice = await service.create({
|
|
212
203
|
name: 'Alice',
|
|
213
204
|
age: 12
|
|
214
205
|
});
|
|
215
206
|
try {
|
|
216
|
-
|
|
207
|
+
await service.update(doug[idProp], {
|
|
217
208
|
name: 'Dougler',
|
|
218
209
|
age: 33
|
|
219
210
|
}, {
|
|
@@ -224,30 +215,30 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
224
215
|
catch (error) {
|
|
225
216
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Got a NotFound Feathers error');
|
|
226
217
|
}
|
|
227
|
-
|
|
228
|
-
})
|
|
218
|
+
await service.remove(alice[idProp]);
|
|
219
|
+
});
|
|
229
220
|
});
|
|
230
221
|
describe('patch', () => {
|
|
231
|
-
test('.patch', () =>
|
|
222
|
+
test('.patch', async () => {
|
|
232
223
|
const originalData = { [idProp]: doug[idProp], name: 'PatchDoug' };
|
|
233
224
|
const originalCopy = Object.assign({}, originalData);
|
|
234
|
-
const data =
|
|
225
|
+
const data = await service.patch(doug[idProp], originalData);
|
|
235
226
|
assert_1.default.deepStrictEqual(originalData, originalCopy, 'original data was not modified');
|
|
236
227
|
assert_1.default.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id matches`);
|
|
237
228
|
assert_1.default.strictEqual(data.name, 'PatchDoug', 'data.name matches');
|
|
238
229
|
assert_1.default.strictEqual(data.age, 32, 'data.age matches');
|
|
239
|
-
})
|
|
240
|
-
test('.patch + $select', () =>
|
|
230
|
+
});
|
|
231
|
+
test('.patch + $select', async () => {
|
|
241
232
|
const originalData = { [idProp]: doug[idProp], name: 'PatchDoug' };
|
|
242
|
-
const data =
|
|
233
|
+
const data = await service.patch(doug[idProp], originalData, {
|
|
243
234
|
query: { $select: ['name'] }
|
|
244
235
|
});
|
|
245
236
|
assert_1.default.strictEqual(data.name, 'PatchDoug', 'data.name matches');
|
|
246
237
|
assert_1.default.ok(!data.age, 'data.age is falsy');
|
|
247
|
-
})
|
|
248
|
-
test('.patch + id + query', () =>
|
|
238
|
+
});
|
|
239
|
+
test('.patch + id + query', async () => {
|
|
249
240
|
try {
|
|
250
|
-
|
|
241
|
+
await service.patch(doug[idProp], {
|
|
251
242
|
name: 'id patched doug'
|
|
252
243
|
}, {
|
|
253
244
|
query: { name: 'Tester' }
|
|
@@ -257,10 +248,10 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
257
248
|
catch (error) {
|
|
258
249
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Got a NotFound Feathers error');
|
|
259
250
|
}
|
|
260
|
-
})
|
|
261
|
-
test('.patch multiple', () =>
|
|
251
|
+
});
|
|
252
|
+
test('.patch multiple', async () => {
|
|
262
253
|
try {
|
|
263
|
-
|
|
254
|
+
await service.patch(null, {});
|
|
264
255
|
throw new Error('Should never get here');
|
|
265
256
|
}
|
|
266
257
|
catch (error) {
|
|
@@ -269,101 +260,101 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
269
260
|
const params = {
|
|
270
261
|
query: { created: true }
|
|
271
262
|
};
|
|
272
|
-
const dave =
|
|
263
|
+
const dave = await service.create({
|
|
273
264
|
name: 'Dave',
|
|
274
265
|
age: 29,
|
|
275
266
|
created: true
|
|
276
267
|
});
|
|
277
|
-
const david =
|
|
268
|
+
const david = await service.create({
|
|
278
269
|
name: 'David',
|
|
279
270
|
age: 3,
|
|
280
271
|
created: true
|
|
281
272
|
});
|
|
282
273
|
service.options.multi = ['patch'];
|
|
283
|
-
const data =
|
|
274
|
+
const data = await service.patch(null, {
|
|
284
275
|
age: 2
|
|
285
276
|
}, params);
|
|
286
277
|
assert_1.default.strictEqual(data.length, 2, 'returned two entries');
|
|
287
278
|
assert_1.default.strictEqual(data[0].age, 2, 'First entry age was updated');
|
|
288
279
|
assert_1.default.strictEqual(data[1].age, 2, 'Second entry age was updated');
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
})
|
|
292
|
-
test('.patch multi query same', () =>
|
|
280
|
+
await service.remove(dave[idProp]);
|
|
281
|
+
await service.remove(david[idProp]);
|
|
282
|
+
});
|
|
283
|
+
test('.patch multi query same', async () => {
|
|
293
284
|
const service = app.service(serviceName);
|
|
294
285
|
const params = {
|
|
295
286
|
query: { age: { $lt: 10 } }
|
|
296
287
|
};
|
|
297
|
-
const dave =
|
|
288
|
+
const dave = await service.create({
|
|
298
289
|
name: 'Dave',
|
|
299
290
|
age: 8,
|
|
300
291
|
created: true
|
|
301
292
|
});
|
|
302
|
-
const david =
|
|
293
|
+
const david = await service.create({
|
|
303
294
|
name: 'David',
|
|
304
295
|
age: 4,
|
|
305
296
|
created: true
|
|
306
297
|
});
|
|
307
|
-
const data =
|
|
298
|
+
const data = await service.patch(null, {
|
|
308
299
|
age: 2
|
|
309
300
|
}, params);
|
|
310
301
|
assert_1.default.strictEqual(data.length, 2, 'returned two entries');
|
|
311
302
|
assert_1.default.strictEqual(data[0].age, 2, 'First entry age was updated');
|
|
312
303
|
assert_1.default.strictEqual(data[1].age, 2, 'Second entry age was updated');
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
})
|
|
316
|
-
test('.patch multi query changed', () =>
|
|
304
|
+
await service.remove(dave[idProp]);
|
|
305
|
+
await service.remove(david[idProp]);
|
|
306
|
+
});
|
|
307
|
+
test('.patch multi query changed', async () => {
|
|
317
308
|
const service = app.service(serviceName);
|
|
318
309
|
const params = {
|
|
319
310
|
query: { age: 10 }
|
|
320
311
|
};
|
|
321
|
-
const dave =
|
|
312
|
+
const dave = await service.create({
|
|
322
313
|
name: 'Dave',
|
|
323
314
|
age: 10,
|
|
324
315
|
created: true
|
|
325
316
|
});
|
|
326
|
-
const david =
|
|
317
|
+
const david = await service.create({
|
|
327
318
|
name: 'David',
|
|
328
319
|
age: 10,
|
|
329
320
|
created: true
|
|
330
321
|
});
|
|
331
|
-
const data =
|
|
322
|
+
const data = await service.patch(null, {
|
|
332
323
|
age: 2
|
|
333
324
|
}, params);
|
|
334
325
|
assert_1.default.strictEqual(data.length, 2, 'returned two entries');
|
|
335
326
|
assert_1.default.strictEqual(data[0].age, 2, 'First entry age was updated');
|
|
336
327
|
assert_1.default.strictEqual(data[1].age, 2, 'Second entry age was updated');
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
})
|
|
340
|
-
test('.patch + NotFound', () =>
|
|
328
|
+
await service.remove(dave[idProp]);
|
|
329
|
+
await service.remove(david[idProp]);
|
|
330
|
+
});
|
|
331
|
+
test('.patch + NotFound', async () => {
|
|
341
332
|
try {
|
|
342
|
-
|
|
333
|
+
await service.patch('568225fbfe21222432e836ff', { name: 'PatchDoug' });
|
|
343
334
|
throw new Error('Should never get here');
|
|
344
335
|
}
|
|
345
336
|
catch (error) {
|
|
346
337
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Error is a NotFound Feathers error');
|
|
347
338
|
}
|
|
348
|
-
})
|
|
349
|
-
test('.patch + query + NotFound', () =>
|
|
350
|
-
const dave =
|
|
339
|
+
});
|
|
340
|
+
test('.patch + query + NotFound', async () => {
|
|
341
|
+
const dave = await service.create({ name: 'Dave' });
|
|
351
342
|
try {
|
|
352
|
-
|
|
343
|
+
await service.patch(dave[idProp], { name: 'PatchedDave' }, { query: { name: 'NotDave' } });
|
|
353
344
|
throw new Error('Should never get here');
|
|
354
345
|
}
|
|
355
346
|
catch (error) {
|
|
356
347
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Error is a NotFound Feathers error');
|
|
357
348
|
}
|
|
358
|
-
|
|
359
|
-
})
|
|
360
|
-
test('.patch + id + query id', () =>
|
|
361
|
-
const alice =
|
|
349
|
+
await service.remove(dave[idProp]);
|
|
350
|
+
});
|
|
351
|
+
test('.patch + id + query id', async () => {
|
|
352
|
+
const alice = await service.create({
|
|
362
353
|
name: 'Alice',
|
|
363
354
|
age: 12
|
|
364
355
|
});
|
|
365
356
|
try {
|
|
366
|
-
|
|
357
|
+
await service.patch(doug[idProp], {
|
|
367
358
|
age: 33
|
|
368
359
|
}, {
|
|
369
360
|
query: { [idProp]: alice[idProp] }
|
|
@@ -373,37 +364,37 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
373
364
|
catch (error) {
|
|
374
365
|
assert_1.default.strictEqual(error.name, 'NotFound', 'Got a NotFound Feathers error');
|
|
375
366
|
}
|
|
376
|
-
|
|
377
|
-
})
|
|
367
|
+
await service.remove(alice[idProp]);
|
|
368
|
+
});
|
|
378
369
|
});
|
|
379
370
|
describe('create', () => {
|
|
380
|
-
test('.create', () =>
|
|
371
|
+
test('.create', async () => {
|
|
381
372
|
const originalData = {
|
|
382
373
|
name: 'Bill',
|
|
383
374
|
age: 40
|
|
384
375
|
};
|
|
385
376
|
const originalCopy = Object.assign({}, originalData);
|
|
386
|
-
const data =
|
|
377
|
+
const data = await service.create(originalData);
|
|
387
378
|
assert_1.default.deepStrictEqual(originalData, originalCopy, 'original data was not modified');
|
|
388
379
|
assert_1.default.ok(data instanceof Object, 'data is an object');
|
|
389
380
|
assert_1.default.strictEqual(data.name, 'Bill', 'data.name matches');
|
|
390
|
-
|
|
391
|
-
})
|
|
392
|
-
test('.create + $select', () =>
|
|
381
|
+
await service.remove(data[idProp]);
|
|
382
|
+
});
|
|
383
|
+
test('.create + $select', async () => {
|
|
393
384
|
const originalData = {
|
|
394
385
|
name: 'William',
|
|
395
386
|
age: 23
|
|
396
387
|
};
|
|
397
|
-
const data =
|
|
388
|
+
const data = await service.create(originalData, {
|
|
398
389
|
query: { $select: ['name'] }
|
|
399
390
|
});
|
|
400
391
|
assert_1.default.strictEqual(data.name, 'William', 'data.name matches');
|
|
401
392
|
assert_1.default.ok(!data.age, 'data.age is falsy');
|
|
402
|
-
|
|
403
|
-
})
|
|
404
|
-
test('.create multi', () =>
|
|
393
|
+
await service.remove(data[idProp]);
|
|
394
|
+
});
|
|
395
|
+
test('.create multi', async () => {
|
|
405
396
|
try {
|
|
406
|
-
|
|
397
|
+
await service.create([], {});
|
|
407
398
|
throw new Error('Should never get here');
|
|
408
399
|
}
|
|
409
400
|
catch (error) {
|
|
@@ -420,20 +411,20 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
420
411
|
}
|
|
421
412
|
];
|
|
422
413
|
service.options.multi = ['create', 'patch'];
|
|
423
|
-
const data =
|
|
414
|
+
const data = await service.create(items);
|
|
424
415
|
assert_1.default.ok(Array.isArray(data), 'data is an array');
|
|
425
416
|
assert_1.default.ok(typeof data[0][idProp] !== 'undefined', 'id is set');
|
|
426
417
|
assert_1.default.strictEqual(data[0].name, 'Gerald', 'first name matches');
|
|
427
418
|
assert_1.default.ok(typeof data[1][idProp] !== 'undefined', 'id is set');
|
|
428
419
|
assert_1.default.strictEqual(data[1].name, 'Herald', 'second name macthes');
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
})
|
|
420
|
+
await service.remove(data[0][idProp]);
|
|
421
|
+
await service.remove(data[1][idProp]);
|
|
422
|
+
});
|
|
432
423
|
});
|
|
433
424
|
describe('doesn\'t call public methods internally', () => {
|
|
434
425
|
let throwing;
|
|
435
426
|
before(() => {
|
|
436
|
-
throwing = app.service(serviceName)
|
|
427
|
+
throwing = Object.assign(Object.create(app.service(serviceName)), {
|
|
437
428
|
get store() {
|
|
438
429
|
return app.service(serviceName).store;
|
|
439
430
|
},
|
|
@@ -459,13 +450,13 @@ exports.default = (test, app, _errors, serviceName, idProp) => {
|
|
|
459
450
|
});
|
|
460
451
|
test('internal .find', () => app.service(serviceName).find.call(throwing));
|
|
461
452
|
test('internal .get', () => service.get.call(throwing, doug[idProp]));
|
|
462
|
-
test('internal .create', () =>
|
|
463
|
-
const bob =
|
|
453
|
+
test('internal .create', async () => {
|
|
454
|
+
const bob = await service.create.call(throwing, {
|
|
464
455
|
name: 'Bob',
|
|
465
456
|
age: 25
|
|
466
457
|
});
|
|
467
|
-
|
|
468
|
-
})
|
|
458
|
+
await service.remove(bob[idProp]);
|
|
459
|
+
});
|
|
469
460
|
test('internal .update', () => service.update.call(throwing, doug[idProp], {
|
|
470
461
|
name: 'Dougler'
|
|
471
462
|
}));
|