feathers-adapter-vitest 0.0.11 → 0.0.12

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/dist/basic.js CHANGED
@@ -1,5 +1,4 @@
1
- import assert from 'node:assert';
2
- import { describe, beforeEach } from 'vitest';
1
+ import { describe, beforeEach, expect } from 'vitest';
3
2
  export default (options) => {
4
3
  const { test, app, serviceName, idProp } = options;
5
4
  describe('Basic', () => {
@@ -9,31 +8,34 @@ export default (options) => {
9
8
  });
10
9
  const config = {
11
10
  '.id': () => {
12
- assert.strictEqual(service.id, idProp, 'id property is set to expected name');
11
+ expect(service.id, 'id property is set to expected name').toBe(idProp);
13
12
  },
14
13
  '.options': () => {
15
- assert.ok(service.options, 'Options are available in service.options');
14
+ expect(service, 'service.options is defined').toHaveProperty('options');
15
+ expect(service.options, 'Options are available in service.options').toBeTypeOf('object');
16
16
  },
17
17
  '.events': () => {
18
- assert.ok(service.events.includes('testing'), 'service.events is set and includes "testing"');
18
+ expect(service, 'service has events').toHaveProperty('events');
19
+ expect(service.events, 'service.events is an array').toBeInstanceOf(Array);
20
+ expect(service.events.includes('testing'), 'service.events includes "testing"').toBe(true);
19
21
  },
20
22
  '._get': () => {
21
- assert.strictEqual(typeof service._get, 'function');
23
+ expect(typeof service._get).toBe('function');
22
24
  },
23
25
  '._find': () => {
24
- assert.strictEqual(typeof service._find, 'function');
26
+ expect(typeof service._find).toBe('function');
25
27
  },
26
28
  '._create': () => {
27
- assert.strictEqual(typeof service._create, 'function');
29
+ expect(typeof service._create).toBe('function');
28
30
  },
29
31
  '._update': () => {
30
- assert.strictEqual(typeof service._update, 'function');
32
+ expect(typeof service._update).toBe('function');
31
33
  },
32
34
  '._patch': () => {
33
- assert.strictEqual(typeof service._patch, 'function');
35
+ expect(typeof service._patch).toBe('function');
34
36
  },
35
37
  '._remove': () => {
36
- assert.strictEqual(typeof service._remove, 'function');
38
+ expect(typeof service._remove).toBe('function');
37
39
  },
38
40
  };
39
41
  for (const testName in config) {
package/dist/basic.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../src/basic.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAwB7C,eAAe,CAAC,OAAyB,EAAE,EAAE;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAElD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,IAAI,OAAY,CAAA;QAEhB,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAoB;YAC9B,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,EAAE,EACV,MAAM,EACN,qCAAqC,CACtC,CAAA;YACH,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAA;YACxE,CAAC;YACD,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,CAAC,EAAE,CACP,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAClC,8CAA8C,CAC/C,CAAA;YACH,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YACrD,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACxD,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACxD,CAAC;YACD,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACvD,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACxD,CAAC;SACF,CAAA;QAED,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAE,MAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../src/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAwBrD,eAAe,CAAC,OAAyB,EAAE,EAAE;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAA;IAElD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,IAAI,OAAY,CAAA;QAEhB,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QACpC,CAAC,CAAC,CAAA;QAEF,MAAM,MAAM,GAAoB;YAC9B,KAAK,EAAE,GAAG,EAAE;gBACV,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,qCAAqC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACxE,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;gBAEvE,MAAM,CACJ,OAAO,CAAC,OAAO,EACf,0CAA0C,CAC3C,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YACxB,CAAC;YACD,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;gBAC9D,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC,cAAc,CACjE,KAAK,CACN,CAAA;gBACD,MAAM,CACJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAClC,mCAAmC,CACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACd,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC9C,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,MAAM,CAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAC/C,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACjD,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACjD,CAAC;YACD,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAChD,CAAC;YACD,UAAU,EAAE,GAAG,EAAE;gBACf,MAAM,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACjD,CAAC;SACF,CAAA;QAED,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAE,MAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACzD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA"}
package/dist/methods.d.ts CHANGED
@@ -8,10 +8,10 @@ type MethodTestOptions = {
8
8
  };
9
9
  type MethodTests = {
10
10
  find: '.find';
11
- get: '.get' | '.get + $select' | '.get + id + query' | '.get + NotFound (string)' | '.get + NotFound (integer)' | '.get + id + query id';
12
- remove: '.remove' | '.remove + $select' | '.remove + id + query' | '.remove + NotFound (string)' | '.remove + NotFound (integer)' | '.remove + multi' | '.remove + multi no pagination' | '.remove + id + query id';
13
- update: '.update' | '.update + $select' | '.update + id + query' | '.update + NotFound (string)' | '.update + NotFound (integer)' | '.update + query + NotFound' | '.update + id + query id';
14
- patch: '.patch' | '.patch + $select' | '.patch + id + query' | '.patch multiple' | '.patch multiple no pagination' | '.patch multi query same' | '.patch multi query changed' | '.patch + NotFound (string)' | '.patch + NotFound (integer)' | '.patch + query + NotFound' | '.patch + id + query id';
11
+ get: '.get' | '.get + $select' | '.get + id + query' | '.get + id + query id' | '.get + NotFound (string)' | '.get + NotFound (integer)';
12
+ remove: '.remove' | '.remove + $select' | '.remove + id + query' | '.remove + id + query id' | '.remove + NotFound (string)' | '.remove + NotFound (integer)' | '.remove + multi' | '.remove + multi no pagination';
13
+ update: '.update' | '.update + $select' | '.update + id + query' | '.update + id + query id' | '.update + NotFound (string)' | '.update + NotFound (integer)' | '.update + query + NotFound';
14
+ patch: '.patch' | '.patch + $select' | '.patch + $select unchanged' | '.patch + id + query' | '.patch + id + query id' | '.patch multiple' | '.patch multiple no pagination' | '.patch multi query same' | '.patch multi query changed' | '.patch + NotFound (string)' | '.patch + NotFound (integer)';
15
15
  create: '.create' | '.create + $select' | '.create multi' | '.create ignores query';
16
16
  internal: 'internal .find' | 'internal .get' | 'internal .create' | 'internal .update' | 'internal .patch' | 'internal .remove';
17
17
  };
package/dist/methods.js CHANGED
@@ -47,12 +47,6 @@ export default (options) => {
47
47
  '.get + id + query': async () => {
48
48
  await assert.rejects(() => service.get(doug[idProp], { query: { name: 'Tester' } }), NotFound);
49
49
  },
50
- '.get + NotFound (string)': async () => {
51
- await assert.rejects(() => service.get('568225fbfe21222432e836ff'), NotFound);
52
- },
53
- '.get + NotFound (integer)': async () => {
54
- await assert.rejects(() => service.get(123141231231), NotFound);
55
- },
56
50
  '.get + id + query id': async () => {
57
51
  const alice = await service.create({
58
52
  name: 'Alice',
@@ -62,6 +56,12 @@ export default (options) => {
62
56
  query: { [idProp]: alice[idProp] },
63
57
  }), NotFound);
64
58
  },
59
+ '.get + NotFound (string)': async () => {
60
+ await assert.rejects(() => service.get('568225fbfe21222432e836ff'), NotFound);
61
+ },
62
+ '.get + NotFound (integer)': async () => {
63
+ await assert.rejects(() => service.get(123141231231), NotFound);
64
+ },
65
65
  },
66
66
  remove: {
67
67
  '.remove': async () => {
@@ -85,6 +85,17 @@ export default (options) => {
85
85
  const stillExists = await service.get(doug[idProp]);
86
86
  assert.ok(stillExists, 'Doug still exists');
87
87
  },
88
+ '.remove + id + query id': async () => {
89
+ const alice = await service.create({
90
+ name: 'Alice',
91
+ age: 12,
92
+ });
93
+ await assert.rejects(() => service.remove(doug[idProp], {
94
+ query: { [idProp]: alice[idProp] },
95
+ }), NotFound);
96
+ const stillExists = await service.get(doug[idProp]);
97
+ assert.ok(stillExists, 'Doug still exists');
98
+ },
88
99
  '.remove + NotFound (string)': async () => {
89
100
  await assert.rejects(() => service.remove('568225fbfe21222432e836ff'), NotFound);
90
101
  },
@@ -137,22 +148,11 @@ export default (options) => {
137
148
  assert.strictEqual(allItems.length, count, `removed all ${count} items`);
138
149
  });
139
150
  },
140
- '.remove + id + query id': async () => {
141
- const alice = await service.create({
142
- name: 'Alice',
143
- age: 12,
144
- });
145
- await assert.rejects(() => service.remove(doug[idProp], {
146
- query: { [idProp]: alice[idProp] },
147
- }), NotFound);
148
- const stillExists = await service.get(doug[idProp]);
149
- assert.ok(stillExists, 'Doug still exists');
150
- },
151
151
  },
152
152
  update: {
153
153
  '.update': async () => {
154
154
  const originalData = { [idProp]: doug[idProp], name: 'Dougler' };
155
- const originalCopy = Object.assign({}, originalData);
155
+ const originalCopy = { ...originalData };
156
156
  const data = await service.update(doug[idProp], originalData);
157
157
  assert.deepStrictEqual(originalData, originalCopy, 'data was not modified');
158
158
  assert.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id matches`);
@@ -172,6 +172,7 @@ export default (options) => {
172
172
  assert.strictEqual(data.name, 'Dougler', 'data.name changed');
173
173
  assert.ok(!('age' in data), 'data.age is not present');
174
174
  const changed = await service.get(doug[idProp]);
175
+ assert.strictEqual(changed.name, originalData.name, 'data.name changed');
175
176
  assert.strictEqual(changed.age, originalData.age, 'data.age changed');
176
177
  },
177
178
  '.update + id + query': async () => {
@@ -180,6 +181,23 @@ export default (options) => {
180
181
  }, {
181
182
  query: { name: 'Tester' },
182
183
  }), NotFound);
184
+ const unchanged = await service.get(doug[idProp]);
185
+ assert.strictEqual(unchanged.name, doug.name, 'name is still Doug');
186
+ },
187
+ '.update + id + query id': async () => {
188
+ const alice = await service.create({
189
+ name: 'Alice',
190
+ age: 12,
191
+ });
192
+ await assert.rejects(() => service.update(doug[idProp], {
193
+ name: 'Dougler',
194
+ age: 33,
195
+ }, {
196
+ query: { [idProp]: alice[idProp] },
197
+ }), NotFound);
198
+ const unchanged = await service.get(doug[idProp]);
199
+ assert.equal(unchanged.name, doug.name, 'name stayed the same');
200
+ assert.equal(unchanged.age, doug.age, 'age stayed the same');
183
201
  },
184
202
  '.update + NotFound (string)': async () => {
185
203
  await assert.rejects(() => service.update('568225fbfe21222432e836ff', {
@@ -195,18 +213,6 @@ export default (options) => {
195
213
  const dave = await service.create({ name: 'Dave' });
196
214
  await assert.rejects(() => service.update(dave[idProp], { name: 'UpdatedDave' }, { query: { name: 'NotDave' } }), NotFound);
197
215
  },
198
- '.update + id + query id': async () => {
199
- const alice = await service.create({
200
- name: 'Alice',
201
- age: 12,
202
- });
203
- await assert.rejects(() => service.update(doug[idProp], {
204
- name: 'Dougler',
205
- age: 33,
206
- }, {
207
- query: { [idProp]: alice[idProp] },
208
- }), NotFound);
209
- },
210
216
  },
211
217
  patch: {
212
218
  '.patch': async () => {
@@ -233,12 +239,41 @@ export default (options) => {
233
239
  const changed = await service.get(doug[idProp]);
234
240
  assert.strictEqual(changed.age, originalData.age, 'data.age changed');
235
241
  },
242
+ '.patch + $select unchanged': async () => {
243
+ const originalData = {
244
+ [idProp]: doug[idProp],
245
+ name: 'PatchDoug',
246
+ };
247
+ const data = await service.patch(doug[idProp], originalData, {
248
+ query: { $select: ['name'] },
249
+ });
250
+ assert.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id property matches`);
251
+ assert.strictEqual(data.name, 'PatchDoug', 'data.name matches');
252
+ assert.ok(!('age' in data), 'data.age is not present');
253
+ const changed = await service.get(doug[idProp]);
254
+ assert.strictEqual(changed.age, doug.age, 'data.age unchanged');
255
+ },
236
256
  '.patch + id + query': async () => {
237
257
  await assert.rejects(() => service.patch(doug[idProp], {
238
258
  name: 'id patched doug',
239
259
  }, {
240
260
  query: { name: 'Tester' },
241
261
  }), NotFound);
262
+ const unchanged = await service.get(doug[idProp]);
263
+ assert.strictEqual(unchanged.name, doug.name, 'name is still Doug');
264
+ },
265
+ '.patch + id + query id': async () => {
266
+ const alice = await service.create({
267
+ name: 'Alice',
268
+ age: 12,
269
+ });
270
+ await assert.rejects(() => service.patch(doug[idProp], {
271
+ age: 33,
272
+ }, {
273
+ query: { [idProp]: alice[idProp] },
274
+ }), NotFound);
275
+ const dougAfter = await service.get(doug[idProp]);
276
+ assert.equal(dougAfter.age, doug.age, 'age stayed the same');
242
277
  },
243
278
  '.patch multiple': async () => {
244
279
  await withOptions(service, { multi: false }, () => assert.rejects(() => service.patch(null, {}), MethodNotAllowed, 'patch multi rejects if options.multi is false'));
@@ -407,23 +442,6 @@ export default (options) => {
407
442
  name: 'PatchDoug',
408
443
  }), NotFound);
409
444
  },
410
- '.patch + query + NotFound': async () => {
411
- const dave = await service.create({ name: 'Dave' });
412
- await assert.rejects(() => service.patch(dave[idProp], { name: 'PatchedDave' }, { query: { name: 'NotDave' } }), NotFound);
413
- },
414
- '.patch + id + query id': async () => {
415
- const alice = await service.create({
416
- name: 'Alice',
417
- age: 12,
418
- });
419
- await assert.rejects(() => service.patch(doug[idProp], {
420
- age: 33,
421
- }, {
422
- query: { [idProp]: alice[idProp] },
423
- }), NotFound);
424
- const dougAfter = await service.get(doug[idProp]);
425
- assert.equal(doug.age, dougAfter.age, 'age stayed the same');
426
- },
427
445
  },
428
446
  create: {
429
447
  '.create': async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../src/methods.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "feathers-adapter-vitest",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "description": "Feathers shared database adapter test suite with vitest",
5
5
  "homepage": "https://feathersjs.com",
6
6
  "keywords": [
package/src/basic.ts CHANGED
@@ -1,5 +1,4 @@
1
- import assert from 'node:assert'
2
- import { describe, beforeEach } from 'vitest'
1
+ import { describe, beforeEach, expect } from 'vitest'
3
2
  import type { Test } from './declarations.js'
4
3
  import type { Application } from '@feathersjs/feathers'
5
4
 
@@ -35,38 +34,43 @@ export default (options: BasicTestOptions) => {
35
34
 
36
35
  const config: TestConfigBasic = {
37
36
  '.id': () => {
38
- assert.strictEqual(
39
- service.id,
40
- idProp,
41
- 'id property is set to expected name',
42
- )
37
+ expect(service.id, 'id property is set to expected name').toBe(idProp)
43
38
  },
44
39
  '.options': () => {
45
- assert.ok(service.options, 'Options are available in service.options')
40
+ expect(service, 'service.options is defined').toHaveProperty('options')
41
+
42
+ expect(
43
+ service.options,
44
+ 'Options are available in service.options',
45
+ ).toBeTypeOf('object')
46
46
  },
47
47
  '.events': () => {
48
- assert.ok(
49
- service.events.includes('testing'),
50
- 'service.events is set and includes "testing"',
48
+ expect(service, 'service has events').toHaveProperty('events')
49
+ expect(service.events, 'service.events is an array').toBeInstanceOf(
50
+ Array,
51
51
  )
52
+ expect(
53
+ service.events.includes('testing'),
54
+ 'service.events includes "testing"',
55
+ ).toBe(true)
52
56
  },
53
57
  '._get': () => {
54
- assert.strictEqual(typeof service._get, 'function')
58
+ expect(typeof service._get).toBe('function')
55
59
  },
56
60
  '._find': () => {
57
- assert.strictEqual(typeof service._find, 'function')
61
+ expect(typeof service._find).toBe('function')
58
62
  },
59
63
  '._create': () => {
60
- assert.strictEqual(typeof service._create, 'function')
64
+ expect(typeof service._create).toBe('function')
61
65
  },
62
66
  '._update': () => {
63
- assert.strictEqual(typeof service._update, 'function')
67
+ expect(typeof service._update).toBe('function')
64
68
  },
65
69
  '._patch': () => {
66
- assert.strictEqual(typeof service._patch, 'function')
70
+ expect(typeof service._patch).toBe('function')
67
71
  },
68
72
  '._remove': () => {
69
- assert.strictEqual(typeof service._remove, 'function')
73
+ expect(typeof service._remove).toBe('function')
70
74
  },
71
75
  }
72
76
 
package/src/methods.ts CHANGED
@@ -18,30 +18,32 @@ type MethodTests = {
18
18
  | '.get'
19
19
  | '.get + $select'
20
20
  | '.get + id + query'
21
+ | '.get + id + query id'
21
22
  | '.get + NotFound (string)'
22
23
  | '.get + NotFound (integer)'
23
- | '.get + id + query id'
24
24
  remove:
25
25
  | '.remove'
26
26
  | '.remove + $select'
27
27
  | '.remove + id + query'
28
+ | '.remove + id + query id'
28
29
  | '.remove + NotFound (string)'
29
30
  | '.remove + NotFound (integer)'
30
31
  | '.remove + multi'
31
32
  | '.remove + multi no pagination'
32
- | '.remove + id + query id'
33
33
  update:
34
34
  | '.update'
35
35
  | '.update + $select'
36
36
  | '.update + id + query'
37
+ | '.update + id + query id'
37
38
  | '.update + NotFound (string)'
38
39
  | '.update + NotFound (integer)'
39
40
  | '.update + query + NotFound'
40
- | '.update + id + query id'
41
41
  patch:
42
42
  | '.patch'
43
43
  | '.patch + $select'
44
+ | '.patch + $select unchanged'
44
45
  | '.patch + id + query'
46
+ | '.patch + id + query id'
45
47
  | '.patch multiple'
46
48
  | '.patch multiple no pagination'
47
49
  | '.patch multi query same'
@@ -51,8 +53,6 @@ type MethodTests = {
51
53
  // | '.patch multi + $limit'
52
54
  | '.patch + NotFound (string)'
53
55
  | '.patch + NotFound (integer)'
54
- | '.patch + query + NotFound'
55
- | '.patch + id + query id'
56
56
  create:
57
57
  | '.create'
58
58
  | '.create + $select'
@@ -141,15 +141,6 @@ export default (options: MethodTestOptions) => {
141
141
  NotFound,
142
142
  )
143
143
  },
144
- '.get + NotFound (string)': async () => {
145
- await assert.rejects(
146
- () => service.get('568225fbfe21222432e836ff'),
147
- NotFound,
148
- )
149
- },
150
- '.get + NotFound (integer)': async () => {
151
- await assert.rejects(() => service.get(123141231231), NotFound)
152
- },
153
144
  '.get + id + query id': async () => {
154
145
  const alice = await service.create({
155
146
  name: 'Alice',
@@ -164,6 +155,15 @@ export default (options: MethodTestOptions) => {
164
155
  NotFound,
165
156
  )
166
157
  },
158
+ '.get + NotFound (string)': async () => {
159
+ await assert.rejects(
160
+ () => service.get('568225fbfe21222432e836ff'),
161
+ NotFound,
162
+ )
163
+ },
164
+ '.get + NotFound (integer)': async () => {
165
+ await assert.rejects(() => service.get(123141231231), NotFound)
166
+ },
167
167
  },
168
168
  remove: {
169
169
  '.remove': async () => {
@@ -199,6 +199,23 @@ export default (options: MethodTestOptions) => {
199
199
  const stillExists = await service.get(doug[idProp])
200
200
  assert.ok(stillExists, 'Doug still exists')
201
201
  },
202
+ '.remove + id + query id': async () => {
203
+ const alice = await service.create({
204
+ name: 'Alice',
205
+ age: 12,
206
+ })
207
+
208
+ await assert.rejects(
209
+ () =>
210
+ service.remove(doug[idProp], {
211
+ query: { [idProp]: alice[idProp] },
212
+ }),
213
+ NotFound,
214
+ )
215
+
216
+ const stillExists = await service.get(doug[idProp])
217
+ assert.ok(stillExists, 'Doug still exists')
218
+ },
202
219
  '.remove + NotFound (string)': async () => {
203
220
  await assert.rejects(
204
221
  () => service.remove('568225fbfe21222432e836ff'),
@@ -305,28 +322,11 @@ export default (options: MethodTestOptions) => {
305
322
  },
306
323
  )
307
324
  },
308
- '.remove + id + query id': async () => {
309
- const alice = await service.create({
310
- name: 'Alice',
311
- age: 12,
312
- })
313
-
314
- await assert.rejects(
315
- () =>
316
- service.remove(doug[idProp], {
317
- query: { [idProp]: alice[idProp] },
318
- }),
319
- NotFound,
320
- )
321
-
322
- const stillExists = await service.get(doug[idProp])
323
- assert.ok(stillExists, 'Doug still exists')
324
- },
325
325
  } satisfies TestConfig<'remove'>,
326
326
  update: {
327
327
  '.update': async () => {
328
328
  const originalData = { [idProp]: doug[idProp], name: 'Dougler' }
329
- const originalCopy = Object.assign({}, originalData)
329
+ const originalCopy = { ...originalData }
330
330
 
331
331
  const data = await service.update(doug[idProp], originalData)
332
332
 
@@ -364,6 +364,11 @@ export default (options: MethodTestOptions) => {
364
364
 
365
365
  const changed = await service.get(doug[idProp])
366
366
 
367
+ assert.strictEqual(
368
+ changed.name,
369
+ originalData.name,
370
+ 'data.name changed',
371
+ )
367
372
  assert.strictEqual(changed.age, originalData.age, 'data.age changed')
368
373
  },
369
374
  '.update + id + query': async () => {
@@ -380,6 +385,34 @@ export default (options: MethodTestOptions) => {
380
385
  ),
381
386
  NotFound,
382
387
  )
388
+
389
+ const unchanged = await service.get(doug[idProp])
390
+ assert.strictEqual(unchanged.name, doug.name, 'name is still Doug')
391
+ },
392
+ '.update + id + query id': async () => {
393
+ const alice = await service.create({
394
+ name: 'Alice',
395
+ age: 12,
396
+ })
397
+
398
+ await assert.rejects(
399
+ () =>
400
+ service.update(
401
+ doug[idProp],
402
+ {
403
+ name: 'Dougler',
404
+ age: 33,
405
+ },
406
+ {
407
+ query: { [idProp]: alice[idProp] },
408
+ },
409
+ ),
410
+ NotFound,
411
+ )
412
+
413
+ const unchanged = await service.get(doug[idProp])
414
+ assert.equal(unchanged.name, doug.name, 'name stayed the same')
415
+ assert.equal(unchanged.age, doug.age, 'age stayed the same')
383
416
  },
384
417
  '.update + NotFound (string)': async () => {
385
418
  await assert.rejects(
@@ -412,27 +445,6 @@ export default (options: MethodTestOptions) => {
412
445
  NotFound,
413
446
  )
414
447
  },
415
- '.update + id + query id': async () => {
416
- const alice = await service.create({
417
- name: 'Alice',
418
- age: 12,
419
- })
420
-
421
- await assert.rejects(
422
- () =>
423
- service.update(
424
- doug[idProp],
425
- {
426
- name: 'Dougler',
427
- age: 33,
428
- },
429
- {
430
- query: { [idProp]: alice[idProp] },
431
- },
432
- ),
433
- NotFound,
434
- )
435
- },
436
448
  } satisfies TestConfig<'update'>,
437
449
  patch: {
438
450
  '.patch': async () => {
@@ -476,6 +488,28 @@ export default (options: MethodTestOptions) => {
476
488
  const changed = await service.get(doug[idProp])
477
489
  assert.strictEqual(changed.age, originalData.age, 'data.age changed')
478
490
  },
491
+
492
+ '.patch + $select unchanged': async () => {
493
+ const originalData = {
494
+ [idProp]: doug[idProp],
495
+ name: 'PatchDoug',
496
+ }
497
+
498
+ const data = await service.patch(doug[idProp], originalData, {
499
+ query: { $select: ['name'] },
500
+ })
501
+
502
+ assert.strictEqual(
503
+ data[idProp].toString(),
504
+ doug[idProp].toString(),
505
+ `${idProp} id property matches`,
506
+ )
507
+ assert.strictEqual(data.name, 'PatchDoug', 'data.name matches')
508
+ assert.ok(!('age' in data), 'data.age is not present')
509
+
510
+ const changed = await service.get(doug[idProp])
511
+ assert.strictEqual(changed.age, doug.age, 'data.age unchanged')
512
+ },
479
513
  '.patch + id + query': async () => {
480
514
  await assert.rejects(
481
515
  () =>
@@ -490,6 +524,33 @@ export default (options: MethodTestOptions) => {
490
524
  ),
491
525
  NotFound,
492
526
  )
527
+
528
+ const unchanged = await service.get(doug[idProp])
529
+ assert.strictEqual(unchanged.name, doug.name, 'name is still Doug')
530
+ },
531
+ '.patch + id + query id': async () => {
532
+ const alice = await service.create({
533
+ name: 'Alice',
534
+ age: 12,
535
+ })
536
+
537
+ await assert.rejects(
538
+ () =>
539
+ service.patch(
540
+ doug[idProp],
541
+ {
542
+ age: 33,
543
+ },
544
+ {
545
+ query: { [idProp]: alice[idProp] },
546
+ },
547
+ ),
548
+ NotFound,
549
+ )
550
+
551
+ const dougAfter = await service.get(doug[idProp])
552
+
553
+ assert.equal(dougAfter.age, doug.age, 'age stayed the same')
493
554
  },
494
555
  '.patch multiple': async () => {
495
556
  await withOptions(service, { multi: false }, () =>
@@ -742,43 +803,6 @@ export default (options: MethodTestOptions) => {
742
803
  NotFound,
743
804
  )
744
805
  },
745
- '.patch + query + NotFound': async () => {
746
- const dave = await service.create({ name: 'Dave' })
747
-
748
- await assert.rejects(
749
- () =>
750
- service.patch(
751
- dave[idProp],
752
- { name: 'PatchedDave' },
753
- { query: { name: 'NotDave' } },
754
- ),
755
- NotFound,
756
- )
757
- },
758
- '.patch + id + query id': async () => {
759
- const alice = await service.create({
760
- name: 'Alice',
761
- age: 12,
762
- })
763
-
764
- await assert.rejects(
765
- () =>
766
- service.patch(
767
- doug[idProp],
768
- {
769
- age: 33,
770
- },
771
- {
772
- query: { [idProp]: alice[idProp] },
773
- },
774
- ),
775
- NotFound,
776
- )
777
-
778
- const dougAfter = await service.get(doug[idProp])
779
-
780
- assert.equal(doug.age, dougAfter.age, 'age stayed the same')
781
- },
782
806
  } satisfies TestConfig<'patch'>,
783
807
  create: {
784
808
  '.create': async () => {