feathers-adapter-vitest 0.0.7 → 0.0.9

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
@@ -2,7 +2,7 @@ import assert from 'node:assert';
2
2
  import { describe, beforeEach } from 'vitest';
3
3
  export default (options) => {
4
4
  const { test, app, serviceName, idProp } = options;
5
- describe('Basic Functionality', () => {
5
+ describe('Basic', () => {
6
6
  let service;
7
7
  beforeEach(() => {
8
8
  service = app.service(serviceName);
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,qBAAqB,EAAE,GAAG,EAAE;QACnC,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,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"}
package/dist/index.js CHANGED
@@ -1,12 +1,10 @@
1
1
  import basicTests from './basic.js';
2
2
  import methodTests from './methods.js';
3
3
  import syntaxTests from './syntax.js';
4
- import { describe, it, afterAll } from 'vitest';
4
+ import { describe, it } from 'vitest';
5
5
  export const defineTestSuite = (defineOptions) => {
6
6
  return (options) => {
7
7
  const { app, serviceName, idProp = 'id' } = options;
8
- const skippedTests = [];
9
- const allTests = [];
10
8
  const test = (name, runner) => {
11
9
  let skip = false;
12
10
  if (defineOptions?.blacklist?.includes(name)) {
@@ -16,19 +14,31 @@ export const defineTestSuite = (defineOptions) => {
16
14
  !defineOptions.only.includes(name)) {
17
15
  skip = true;
18
16
  }
19
- const its = skip ? it.skip : it;
20
- if (skip) {
21
- skippedTests.push(name);
22
- }
23
- allTests.push(name);
24
- its(name, runner);
17
+ const maybeSkip = skip ? it.skip : it;
18
+ maybeSkip(name, runner);
25
19
  };
26
- describe(`Adapter tests for '${serviceName}' service with '${idProp}' id property`, () => {
27
- afterAll(() => {
28
- if (skippedTests.length) {
29
- console.log(`\nSkipped the following ${skippedTests.length} Feathers adapter test(s) out of ${allTests.length} total:`);
30
- console.log(JSON.stringify(skippedTests, null, ' '));
31
- }
20
+ describe(`app.service('${serviceName}') with options.id: '${idProp}'`, () => {
21
+ beforeAll(async () => {
22
+ const service = app.service(serviceName);
23
+ let items = await service.find({ paginate: false });
24
+ assert.ok(Array.isArray(items), 'find with paginate:false did not return an array. Before you start to test the adapter make sure simple find works.');
25
+ await Promise.all(items.map((item) => service.remove(item[idProp])));
26
+ // test create
27
+ const doug = await service.create({
28
+ name: 'Doug',
29
+ age: 32,
30
+ });
31
+ assert.ok(doug[idProp] !== null, `simple 'create' failed (no ${idProp}). Before you start to test the adapter make sure simple create works.`);
32
+ assert.strictEqual(doug.name, 'Doug', "simple 'create' failed (no name). Before you start to test the adapter make sure simple create works.");
33
+ assert.strictEqual(doug.age, 32, "simple 'create' failed (no age). Before you start to test the adapter make sure simple create works.");
34
+ // test delete
35
+ items = await service.find({ paginate: false });
36
+ assert.ok(Array.isArray(items), 'find with paginate:false did not return an array. Before you start to test the adapter make sure simple find works.');
37
+ assert.strictEqual(items.length, 1, 'find should return an item. Before you start to test the adapter make sure simple find works.');
38
+ assert.ok(idProp in items[0], `'find' should return an item with ${idProp}. Before you start to test the adapter make sure simple find works.`);
39
+ await Promise.all(items.map((item) => service.remove(item[idProp])));
40
+ const itemsAfterRemove = await service.find({ paginate: false });
41
+ assert.ok(itemsAfterRemove.length === 0, "'remove' does not work. Before you start to test the adapter make sure simple remove works.");
32
42
  });
33
43
  basicTests({ test, app, serviceName, idProp });
34
44
  methodTests({ test, app, serviceName, idProp });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,WAAW,MAAM,cAAc,CAAA;AAEtC,OAAO,WAAW,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAuB/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAsC,EAAE,EAAE;IACxE,OAAO,CAAC,OAAyB,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;QAEnD,MAAM,YAAY,GAAsB,EAAE,CAAA;QAC1C,MAAM,QAAQ,GAAsB,EAAE,CAAA;QAEtC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,MAAW,EAAE,EAAE;YACzC,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,IAAI,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAuB,CAAC,EAAE,CAAC;gBAChE,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;YACD,IACE,aAAa,EAAE,IAAI,EAAE,MAAM;gBAC3B,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAuB,CAAC,EACrD,CAAC;gBACD,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YAE/B,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,CAAC,IAAI,CAAC,IAAuB,CAAC,CAAA;YAC5C,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,IAAuB,CAAC,CAAA;YAEtC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACnB,CAAC,CAAA;QAED,QAAQ,CAAC,sBAAsB,WAAW,mBAAmB,MAAM,eAAe,EAAE,GAAG,EAAE;YACvF,QAAQ,CAAC,GAAG,EAAE;gBACZ,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CACT,2BAA2B,YAAY,CAAC,MAAM,oCAAoC,QAAQ,CAAC,MAAM,SAAS,CAC3G,CAAA;oBACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;gBACvD,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;YAC9C,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;YAC/C,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAA;AAED,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,WAAW,MAAM,cAAc,CAAA;AAEtC,OAAO,WAAW,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AAuBrC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAsC,EAAE,EAAE;IACxE,OAAO,CAAC,OAAyB,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;QAEnD,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,MAAW,EAAE,EAAE;YACzC,IAAI,IAAI,GAAG,KAAK,CAAA;YAChB,IAAI,aAAa,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAuB,CAAC,EAAE,CAAC;gBAChE,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;YACD,IACE,aAAa,EAAE,IAAI,EAAE,MAAM;gBAC3B,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAuB,CAAC,EACrD,CAAC;gBACD,IAAI,GAAG,IAAI,CAAA;YACb,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;YAErC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACzB,CAAC,CAAA;QAED,QAAQ,CAAC,gBAAgB,WAAW,wBAAwB,MAAM,GAAG,EAAE,GAAG,EAAE;YAC1E,SAAS,CAAC,KAAK,IAAI,EAAE;gBACnB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;gBAExC,IAAI,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;gBACnD,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,qHAAqH,CACtH,CAAA;gBAED,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACvD,CAAA;gBAED,cAAc;gBACd,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;oBAChC,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,EAAE;iBACR,CAAC,CAAA;gBAEF,MAAM,CAAC,EAAE,CACP,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EACrB,8BAA8B,MAAM,wEAAwE,CAC7G,CAAA;gBACD,MAAM,CAAC,WAAW,CAChB,IAAI,CAAC,IAAI,EACT,MAAM,EACN,uGAAuG,CACxG,CAAA;gBACD,MAAM,CAAC,WAAW,CAChB,IAAI,CAAC,GAAG,EACR,EAAE,EACF,sGAAsG,CACvG,CAAA;gBAED,cAAc;gBAEd,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC/C,MAAM,CAAC,EAAE,CACP,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,qHAAqH,CACtH,CAAA;gBACD,MAAM,CAAC,WAAW,CAChB,KAAK,CAAC,MAAM,EACZ,CAAC,EACD,+FAA+F,CAChG,CAAA;gBACD,MAAM,CAAC,EAAE,CACP,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAClB,qCAAqC,MAAM,qEAAqE,CACjH,CAAA;gBACD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACvD,CAAA;gBACD,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;gBAChE,MAAM,CAAC,EAAE,CACP,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAC7B,6FAA6F,CAC9F,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,UAAU,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;YAC9C,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;YAC/C,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAA;QACjD,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;AACH,CAAC,CAAA;AAED,cAAc,mBAAmB,CAAA"}
package/dist/methods.js CHANGED
@@ -8,22 +8,6 @@ export default (options) => {
8
8
  let service;
9
9
  beforeAll(async () => {
10
10
  service = app.service(serviceName);
11
- // test create
12
- doug = await service.create({
13
- name: 'Doug',
14
- age: 32,
15
- });
16
- assert.ok(doug[idProp] !== null, `simple 'create' failed (no ${idProp}). Before you start to test the adapter make sure simple create works.`);
17
- assert.strictEqual(doug.name, 'Doug', "simple 'create' failed (no name). Before you start to test the adapter make sure simple create works.");
18
- assert.strictEqual(doug.age, 32, "simple 'create' failed (no age). Before you start to test the adapter make sure simple create works.");
19
- // test delete
20
- const items = await service.find({ paginate: false });
21
- assert.ok(Array.isArray(items), 'find with paginate:false did not return an array. Before you start to test the adapter make sure simple find works.');
22
- assert.strictEqual(items.length, 1, 'find should return an item. Before you start to test the adapter make sure simple find works.');
23
- assert.ok(idProp in items[0], `'find' should return an item with ${idProp}. Before you start to test the adapter make sure simple find works.`);
24
- await Promise.all(items.map((item) => service.remove(item[idProp])));
25
- const itemsAfterRemove = await service.find({ paginate: false });
26
- assert.ok(itemsAfterRemove.length === 0, "'remove' does not work. Before you start to test the adapter make sure simple remove works.");
27
11
  });
28
12
  beforeEach(async () => {
29
13
  doug = await service.create({
@@ -56,7 +40,7 @@ export default (options) => {
56
40
  });
57
41
  assert.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id property matches`);
58
42
  assert.strictEqual(data.name, 'Doug', 'data.name matches');
59
- assert.ok(!data.age, 'data.age is falsy');
43
+ assert.ok(!('age' in data), 'data.age is not present');
60
44
  },
61
45
  '.get + id + query': async () => {
62
46
  await assert.rejects(() => service.get(doug[idProp], { query: { name: 'Tester' } }), NotFound);
@@ -93,7 +77,7 @@ export default (options) => {
93
77
  });
94
78
  assert.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id property matches`);
95
79
  assert.strictEqual(data.name, 'Doug', 'data.name matches');
96
- assert.ok(!data.age, 'data.age is falsy');
80
+ assert.ok(!('age' in data), 'data.age is not presents');
97
81
  },
98
82
  '.remove + id + query': async () => {
99
83
  await assert.rejects(() => service.remove(doug[idProp], {
@@ -194,7 +178,7 @@ export default (options) => {
194
178
  assert.deepStrictEqual(originalData, originalCopy, 'data was not modified');
195
179
  assert.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id matches`);
196
180
  assert.strictEqual(data.name, 'Dougler', 'data.name matches');
197
- assert.ok(!data.age, 'data.age is falsy');
181
+ assert.ok(data.age == null, 'data.age is nullable'); // could be null or undefined, based on the adapter
198
182
  },
199
183
  '.update + $select': async () => {
200
184
  const originalData = {
@@ -206,9 +190,10 @@ export default (options) => {
206
190
  query: { $select: ['name'] },
207
191
  });
208
192
  assert.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id property matches`);
209
- assert.strictEqual(data.name, 'Dougler', 'data.name matches');
210
- assert.ok(!data.age, 'data.age is falsy');
211
- // TODO: service.get(doug[idProp]) should have age set to 10
193
+ assert.strictEqual(data.name, 'Dougler', 'data.name changed');
194
+ assert.ok(!('age' in data), 'data.age is not present');
195
+ const changed = await service.get(doug[idProp]);
196
+ assert.strictEqual(changed.age, originalData.age, 'data.age changed');
212
197
  },
213
198
  '.update + id + query': async () => {
214
199
  await assert.rejects(() => service.update(doug[idProp], {
@@ -257,14 +242,19 @@ export default (options) => {
257
242
  assert.strictEqual(data.age, 32, 'data.age matches');
258
243
  },
259
244
  '.patch + $select': async () => {
260
- const originalData = { [idProp]: doug[idProp], name: 'PatchDoug' };
245
+ const originalData = {
246
+ [idProp]: doug[idProp],
247
+ name: 'PatchDoug',
248
+ age: 10,
249
+ };
261
250
  const data = await service.patch(doug[idProp], originalData, {
262
251
  query: { $select: ['name'] },
263
252
  });
264
253
  assert.strictEqual(data[idProp].toString(), doug[idProp].toString(), `${idProp} id property matches`);
265
254
  assert.strictEqual(data.name, 'PatchDoug', 'data.name matches');
266
- assert.ok(!data.age, 'data.age is falsy');
267
- // TODO: service.get(doug[idProp]) should have age set to 10
255
+ assert.ok(!('age' in data), 'data.age is not present');
256
+ const changed = await service.get(doug[idProp]);
257
+ assert.strictEqual(changed.age, originalData.age, 'data.age changed');
268
258
  },
269
259
  '.patch + id + query': async () => {
270
260
  await assert.rejects(() => service.patch(doug[idProp], {
@@ -535,7 +525,7 @@ export default (options) => {
535
525
  });
536
526
  assert.ok(idProp in data, 'data has id');
537
527
  assert.strictEqual(data.name, 'William', 'data.name matches');
538
- assert.ok(!data.age, 'data.age is falsy');
528
+ assert.ok(!('age' in data), 'data.age is not present');
539
529
  const created = await service.get(data[idProp]);
540
530
  assert.strictEqual(created.age, 23, 'data.age created');
541
531
  await service.remove(data[idProp]);
@@ -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/dist/syntax.d.ts CHANGED
@@ -6,7 +6,6 @@ type SyntaxTestOptions = {
6
6
  serviceName: string;
7
7
  idProp: string;
8
8
  };
9
- export type AdapterTestNameSyntax = '.find + equal' | '.find + equal multiple' | '.find + $sort' | '.find + $sort + string' | '.find + $limit' | '.find + $limit 0' | '.find + $skip' | '.find + $select' | '.find + $or' | '.find + $in' | '.find + $nin' | '.find + $lt' | '.find + $lte' | '.find + $gt' | '.find + $gte' | '.find + $ne' | '.find + $gt + $lt + $sort' | '.find + $or nested + $sort' | '.find + $and' | '.find + $and + $or' | 'params.adapter + paginate' | 'params.adapter + multi' | '.find + paginate' | '.find + paginate + query' | '.find + paginate + $limit + $skip' | '.find + paginate + $limit 0' | '.find + paginate + params';
10
9
  type SyntaxTests = {
11
10
  general: '.find + equal' | '.find + equal multiple';
12
11
  filters: '.find + $sort' | '.find + $sort + string' | '.find + $limit' | '.find + $limit 0' | '.find + $skip' | '.find + $select';
@@ -14,6 +13,6 @@ type SyntaxTests = {
14
13
  'params.adapter': 'params.adapter + paginate' | 'params.adapter + multi';
15
14
  paginate: '.find + paginate' | '.find + paginate + query' | '.find + paginate + $limit + $skip' | '.find + paginate + $limit 0' | '.find + paginate + params';
16
15
  };
17
- export type AdapterMethodsTestName = SyntaxTests[keyof SyntaxTests];
16
+ export type AdapterTestNameSyntax = SyntaxTests[keyof SyntaxTests];
18
17
  declare const _default: (options: SyntaxTestOptions) => void;
19
18
  export default _default;
package/dist/syntax.js CHANGED
@@ -2,7 +2,7 @@ import assert from 'node:assert';
2
2
  import { describe, beforeEach, afterEach } from 'vitest';
3
3
  export default (options) => {
4
4
  const { test, app, serviceName, idProp } = options;
5
- describe('Query Syntax', () => {
5
+ describe('Syntax', () => {
6
6
  let bob;
7
7
  let alice;
8
8
  let doug;
@@ -31,15 +31,15 @@ export default (options) => {
31
31
  '.find + equal': async () => {
32
32
  const params = { query: { name: 'Alice' } };
33
33
  const data = await service.find(params);
34
- assert.ok(Array.isArray(data));
35
- assert.strictEqual(data.length, 1);
36
- assert.strictEqual(data[0].name, 'Alice');
34
+ assert.ok(Array.isArray(data), 'data is an array');
35
+ assert.strictEqual(data.length, 1, 'data has one entry');
36
+ assert.strictEqual(data[0].name, 'Alice', 'correct name');
37
37
  },
38
38
  '.find + equal multiple': async () => {
39
39
  const data = await service.find({
40
40
  query: { name: 'Alice', age: 20 },
41
41
  });
42
- assert.strictEqual(data.length, 0);
42
+ assert.strictEqual(data.length, 0, 'no results');
43
43
  },
44
44
  },
45
45
  filters: {
@@ -58,10 +58,10 @@ export default (options) => {
58
58
  $sort: { name: -1 },
59
59
  },
60
60
  });
61
- assert.strictEqual(data.length, 3);
62
- assert.strictEqual(data[0].name, 'Doug');
63
- assert.strictEqual(data[1].name, 'Bob');
64
- assert.strictEqual(data[2].name, 'Alice');
61
+ assert.strictEqual(data.length, 3, 'correct data.length');
62
+ assert.strictEqual(data[0].name, 'Doug', 'first item');
63
+ assert.strictEqual(data[1].name, 'Bob', 'second item');
64
+ assert.strictEqual(data[2].name, 'Alice', 'third item');
65
65
  },
66
66
  '.find + $sort + string': async () => {
67
67
  const data = await service.find({
@@ -69,10 +69,10 @@ export default (options) => {
69
69
  $sort: { name: '1' },
70
70
  },
71
71
  });
72
- assert.strictEqual(data.length, 3);
73
- assert.strictEqual(data[0].name, 'Alice');
74
- assert.strictEqual(data[1].name, 'Bob');
75
- assert.strictEqual(data[2].name, 'Doug');
72
+ assert.strictEqual(data.length, 3, 'correct data.length');
73
+ assert.strictEqual(data[0].name, 'Alice', 'first item');
74
+ assert.strictEqual(data[1].name, 'Bob', 'second item');
75
+ assert.strictEqual(data[2].name, 'Doug', 'third item');
76
76
  },
77
77
  '.find + $limit': async () => {
78
78
  const data = await service.find({
@@ -80,7 +80,7 @@ export default (options) => {
80
80
  $limit: 2,
81
81
  },
82
82
  });
83
- assert.strictEqual(data.length, 2);
83
+ assert.strictEqual(data.length, 2, 'correct data.length');
84
84
  },
85
85
  '.find + $limit 0': async () => {
86
86
  const data = await service.find({
@@ -88,7 +88,7 @@ export default (options) => {
88
88
  $limit: 0,
89
89
  },
90
90
  });
91
- assert.strictEqual(data.length, 0);
91
+ assert.strictEqual(data.length, 0, 'data array is empty');
92
92
  },
93
93
  '.find + $skip': async () => {
94
94
  const data = await service.find({
@@ -97,9 +97,9 @@ export default (options) => {
97
97
  $skip: 1,
98
98
  },
99
99
  });
100
- assert.strictEqual(data.length, 2);
101
- assert.strictEqual(data[0].name, 'Bob');
102
- assert.strictEqual(data[1].name, 'Doug');
100
+ assert.strictEqual(data.length, 2, 'correct data.length');
101
+ assert.strictEqual(data[0].name, 'Bob', 'first user');
102
+ assert.strictEqual(data[1].name, 'Doug', 'second user');
103
103
  },
104
104
  '.find + $select': async () => {
105
105
  const data = await service.find({
@@ -108,10 +108,10 @@ export default (options) => {
108
108
  $select: ['name'],
109
109
  },
110
110
  });
111
- assert.strictEqual(data.length, 1);
111
+ assert.strictEqual(data.length, 1, 'correct data.length');
112
112
  assert.ok(idProp in data[0], 'data has id');
113
- assert.strictEqual(data[0].name, 'Alice');
114
- assert.strictEqual(data[0].age, undefined);
113
+ assert.strictEqual(data[0].name, 'Alice', 'correct name');
114
+ assert.strictEqual(data[0].age, undefined, 'age was not selected');
115
115
  },
116
116
  },
117
117
  operators: {
@@ -122,9 +122,9 @@ export default (options) => {
122
122
  $sort: { name: 1 },
123
123
  },
124
124
  });
125
- assert.strictEqual(data.length, 2);
126
- assert.strictEqual(data[0].name, 'Alice');
127
- assert.strictEqual(data[1].name, 'Bob');
125
+ assert.strictEqual(data.length, 2, 'correct data.length');
126
+ assert.strictEqual(data[0].name, 'Alice', 'first item');
127
+ assert.strictEqual(data[1].name, 'Bob', 'second item');
128
128
  },
129
129
  '.find + $in': async () => {
130
130
  const data = await service.find({
@@ -135,9 +135,9 @@ export default (options) => {
135
135
  $sort: { name: 1 },
136
136
  },
137
137
  });
138
- assert.strictEqual(data.length, 2);
139
- assert.strictEqual(data[0].name, 'Alice');
140
- assert.strictEqual(data[1].name, 'Bob');
138
+ assert.strictEqual(data.length, 2, 'correct data.length');
139
+ assert.strictEqual(data[0].name, 'Alice', 'first item');
140
+ assert.strictEqual(data[1].name, 'Bob', 'second item');
141
141
  },
142
142
  '.find + $nin': async () => {
143
143
  const data = await service.find({
@@ -147,8 +147,8 @@ export default (options) => {
147
147
  },
148
148
  },
149
149
  });
150
- assert.strictEqual(data.length, 1);
151
- assert.strictEqual(data[0].name, 'Doug');
150
+ assert.strictEqual(data.length, 1, 'correct data.length');
151
+ assert.strictEqual(data[0].name, 'Doug', 'correct item');
152
152
  },
153
153
  '.find + $lt': async () => {
154
154
  const data = await service.find({
@@ -158,7 +158,7 @@ export default (options) => {
158
158
  },
159
159
  },
160
160
  });
161
- assert.strictEqual(data.length, 2);
161
+ assert.strictEqual(data.length, 2, 'correct data.length');
162
162
  },
163
163
  '.find + $lte': async () => {
164
164
  const data = await service.find({
@@ -168,7 +168,7 @@ export default (options) => {
168
168
  },
169
169
  },
170
170
  });
171
- assert.strictEqual(data.length, 2);
171
+ assert.strictEqual(data.length, 2, 'correct data.length');
172
172
  },
173
173
  '.find + $gt': async () => {
174
174
  const data = await service.find({
@@ -178,7 +178,7 @@ export default (options) => {
178
178
  },
179
179
  },
180
180
  });
181
- assert.strictEqual(data.length, 1);
181
+ assert.strictEqual(data.length, 1, 'correct data.length');
182
182
  },
183
183
  '.find + $gte': async () => {
184
184
  const data = await service.find({
@@ -188,7 +188,7 @@ export default (options) => {
188
188
  },
189
189
  },
190
190
  });
191
- assert.strictEqual(data.length, 2);
191
+ assert.strictEqual(data.length, 2, 'correct data.length');
192
192
  },
193
193
  '.find + $ne': async () => {
194
194
  const data = await service.find({
@@ -198,7 +198,7 @@ export default (options) => {
198
198
  },
199
199
  },
200
200
  });
201
- assert.strictEqual(data.length, 2, 'correct length');
201
+ assert.strictEqual(data.length, 2, 'correct data.length');
202
202
  },
203
203
  '.find + $gt + $lt + $sort': async () => {
204
204
  const params = {
@@ -211,7 +211,7 @@ export default (options) => {
211
211
  },
212
212
  };
213
213
  const data = await service.find(params);
214
- assert.strictEqual(data.length, 2, 'correct length');
214
+ assert.strictEqual(data.length, 2, 'correct data.length');
215
215
  assert.strictEqual(data[0].name, 'Alice', 'first user');
216
216
  assert.strictEqual(data[1].name, 'Bob', 'second user');
217
217
  },
@@ -231,7 +231,7 @@ export default (options) => {
231
231
  },
232
232
  };
233
233
  const data = await service.find(params);
234
- assert.strictEqual(data.length, 2, 'correct length');
234
+ assert.strictEqual(data.length, 2, 'correct data.length');
235
235
  assert.strictEqual(data[0].name, 'Alice', 'first user');
236
236
  assert.strictEqual(data[1].name, 'Doug', 'second user');
237
237
  },
@@ -243,7 +243,7 @@ export default (options) => {
243
243
  },
244
244
  };
245
245
  const data = await service.find(params);
246
- assert.strictEqual(data.length, 1, 'correct length');
246
+ assert.strictEqual(data.length, 1, 'correct data.length');
247
247
  assert.strictEqual(data[0].name, 'Alice', 'correct user');
248
248
  },
249
249
  '.find + $and + $or': async () => {
@@ -254,7 +254,7 @@ export default (options) => {
254
254
  },
255
255
  };
256
256
  const data = await service.find(params);
257
- assert.strictEqual(data.length, 1, 'correct length');
257
+ assert.strictEqual(data.length, 1, 'correct data.length');
258
258
  assert.strictEqual(data[0].name, 'Alice', 'correct user');
259
259
  },
260
260
  },
@@ -285,7 +285,7 @@ export default (options) => {
285
285
  },
286
286
  };
287
287
  const users = await service.create(items, multiParams);
288
- assert.strictEqual(users.length, 2);
288
+ assert.strictEqual(users.length, 2, 'created two items');
289
289
  await service.remove(users[0][idProp]);
290
290
  await service.remove(users[1][idProp]);
291
291
  await assert.rejects(() => service.patch(null, { age: 2 }, multiParams), {
@@ -1 +1 @@
1
- {"version":3,"file":"syntax.js","sourceRoot":"","sources":["../src/syntax.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syntax.js","sourceRoot":"","sources":["../src/syntax.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.7",
3
+ "version": "0.0.9",
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
@@ -26,7 +26,7 @@ type TestConfigBasic = Record<AdapterTestNameBasic, () => void | Promise<void>>
26
26
  export default (options: BasicTestOptions) => {
27
27
  const { test, app, serviceName, idProp } = options
28
28
 
29
- describe('Basic Functionality', () => {
29
+ describe('Basic', () => {
30
30
  let service: any
31
31
 
32
32
  beforeEach(() => {
package/src/index.ts CHANGED
@@ -5,7 +5,7 @@ import type { AdapterTestNameMethods } from './methods.js'
5
5
  import methodTests from './methods.js'
6
6
  import type { AdapterTestNameSyntax } from './syntax.js'
7
7
  import syntaxTests from './syntax.js'
8
- import { describe, it, afterAll } from 'vitest'
8
+ import { describe, it } from 'vitest'
9
9
 
10
10
  export type TestSuiteOptions = {
11
11
  app: Application
@@ -32,9 +32,6 @@ export const defineTestSuite = (defineOptions?: DefineTestSuiteOptions) => {
32
32
  return (options: TestSuiteOptions) => {
33
33
  const { app, serviceName, idProp = 'id' } = options
34
34
 
35
- const skippedTests: AdapterTestName[] = []
36
- const allTests: AdapterTestName[] = []
37
-
38
35
  const test = (name: string, runner: any) => {
39
36
  let skip = false
40
37
  if (defineOptions?.blacklist?.includes(name as AdapterTestName)) {
@@ -46,25 +43,70 @@ export const defineTestSuite = (defineOptions?: DefineTestSuiteOptions) => {
46
43
  ) {
47
44
  skip = true
48
45
  }
49
- const its = skip ? it.skip : it
46
+ const maybeSkip = skip ? it.skip : it
50
47
 
51
- if (skip) {
52
- skippedTests.push(name as AdapterTestName)
53
- }
48
+ maybeSkip(name, runner)
49
+ }
54
50
 
55
- allTests.push(name as AdapterTestName)
51
+ describe(`app.service('${serviceName}') with options.id: '${idProp}'`, () => {
52
+ beforeAll(async () => {
53
+ const service = app.service(serviceName)
56
54
 
57
- its(name, runner)
58
- }
55
+ let items = await service.find({ paginate: false })
56
+ assert.ok(
57
+ Array.isArray(items),
58
+ 'find with paginate:false did not return an array. Before you start to test the adapter make sure simple find works.',
59
+ )
60
+
61
+ await Promise.all(
62
+ items.map((item: any) => service.remove(item[idProp])),
63
+ )
64
+
65
+ // test create
66
+ const doug = await service.create({
67
+ name: 'Doug',
68
+ age: 32,
69
+ })
70
+
71
+ assert.ok(
72
+ doug[idProp] !== null,
73
+ `simple 'create' failed (no ${idProp}). Before you start to test the adapter make sure simple create works.`,
74
+ )
75
+ assert.strictEqual(
76
+ doug.name,
77
+ 'Doug',
78
+ "simple 'create' failed (no name). Before you start to test the adapter make sure simple create works.",
79
+ )
80
+ assert.strictEqual(
81
+ doug.age,
82
+ 32,
83
+ "simple 'create' failed (no age). Before you start to test the adapter make sure simple create works.",
84
+ )
85
+
86
+ // test delete
59
87
 
60
- describe(`Adapter tests for '${serviceName}' service with '${idProp}' id property`, () => {
61
- afterAll(() => {
62
- if (skippedTests.length) {
63
- console.log(
64
- `\nSkipped the following ${skippedTests.length} Feathers adapter test(s) out of ${allTests.length} total:`,
65
- )
66
- console.log(JSON.stringify(skippedTests, null, ' '))
67
- }
88
+ items = await service.find({ paginate: false })
89
+ assert.ok(
90
+ Array.isArray(items),
91
+ 'find with paginate:false did not return an array. Before you start to test the adapter make sure simple find works.',
92
+ )
93
+ assert.strictEqual(
94
+ items.length,
95
+ 1,
96
+ 'find should return an item. Before you start to test the adapter make sure simple find works.',
97
+ )
98
+ assert.ok(
99
+ idProp in items[0],
100
+ `'find' should return an item with ${idProp}. Before you start to test the adapter make sure simple find works.`,
101
+ )
102
+ await Promise.all(
103
+ items.map((item: any) => service.remove(item[idProp])),
104
+ )
105
+ const itemsAfterRemove = await service.find({ paginate: false })
106
+ assert.ok(
107
+ itemsAfterRemove.length === 0,
108
+ "'remove' does not work. Before you start to test the adapter make sure simple remove works.",
109
+ )
68
110
  })
69
111
 
70
112
  basicTests({ test, app, serviceName, idProp })
package/src/methods.ts CHANGED
@@ -84,50 +84,6 @@ export default (options: MethodTestOptions) => {
84
84
 
85
85
  beforeAll(async () => {
86
86
  service = app.service(serviceName)
87
-
88
- // test create
89
- doug = await service.create({
90
- name: 'Doug',
91
- age: 32,
92
- })
93
-
94
- assert.ok(
95
- doug[idProp] !== null,
96
- `simple 'create' failed (no ${idProp}). Before you start to test the adapter make sure simple create works.`,
97
- )
98
- assert.strictEqual(
99
- doug.name,
100
- 'Doug',
101
- "simple 'create' failed (no name). Before you start to test the adapter make sure simple create works.",
102
- )
103
- assert.strictEqual(
104
- doug.age,
105
- 32,
106
- "simple 'create' failed (no age). Before you start to test the adapter make sure simple create works.",
107
- )
108
-
109
- // test delete
110
-
111
- const items = await service.find({ paginate: false })
112
- assert.ok(
113
- Array.isArray(items),
114
- 'find with paginate:false did not return an array. Before you start to test the adapter make sure simple find works.',
115
- )
116
- assert.strictEqual(
117
- items.length,
118
- 1,
119
- 'find should return an item. Before you start to test the adapter make sure simple find works.',
120
- )
121
- assert.ok(
122
- idProp in items[0],
123
- `'find' should return an item with ${idProp}. Before you start to test the adapter make sure simple find works.`,
124
- )
125
- await Promise.all(items.map((item: any) => service.remove(item[idProp])))
126
- const itemsAfterRemove = await service.find({ paginate: false })
127
- assert.ok(
128
- itemsAfterRemove.length === 0,
129
- "'remove' does not work. Before you start to test the adapter make sure simple remove works.",
130
- )
131
87
  })
132
88
 
133
89
  beforeEach(async () => {
@@ -174,7 +130,7 @@ export default (options: MethodTestOptions) => {
174
130
  `${idProp} id property matches`,
175
131
  )
176
132
  assert.strictEqual(data.name, 'Doug', 'data.name matches')
177
- assert.ok(!data.age, 'data.age is falsy')
133
+ assert.ok(!('age' in data), 'data.age is not present')
178
134
  },
179
135
  '.get + id + query': async () => {
180
136
  await assert.rejects(
@@ -226,7 +182,7 @@ export default (options: MethodTestOptions) => {
226
182
  `${idProp} id property matches`,
227
183
  )
228
184
  assert.strictEqual(data.name, 'Doug', 'data.name matches')
229
- assert.ok(!data.age, 'data.age is falsy')
185
+ assert.ok(!('age' in data), 'data.age is not presents')
230
186
  },
231
187
  '.remove + id + query': async () => {
232
188
  await assert.rejects(
@@ -385,7 +341,7 @@ export default (options: MethodTestOptions) => {
385
341
  `${idProp} id matches`,
386
342
  )
387
343
  assert.strictEqual(data.name, 'Dougler', 'data.name matches')
388
- assert.ok(!data.age, 'data.age is falsy')
344
+ assert.ok(data.age == null, 'data.age is nullable') // could be null or undefined, based on the adapter
389
345
  },
390
346
  '.update + $select': async () => {
391
347
  const originalData = {
@@ -403,10 +359,12 @@ export default (options: MethodTestOptions) => {
403
359
  doug[idProp].toString(),
404
360
  `${idProp} id property matches`,
405
361
  )
406
- assert.strictEqual(data.name, 'Dougler', 'data.name matches')
407
- assert.ok(!data.age, 'data.age is falsy')
362
+ assert.strictEqual(data.name, 'Dougler', 'data.name changed')
363
+ assert.ok(!('age' in data), 'data.age is not present')
364
+
365
+ const changed = await service.get(doug[idProp])
408
366
 
409
- // TODO: service.get(doug[idProp]) should have age set to 10
367
+ assert.strictEqual(changed.age, originalData.age, 'data.age changed')
410
368
  },
411
369
  '.update + id + query': async () => {
412
370
  await assert.rejects(
@@ -501,7 +459,11 @@ export default (options: MethodTestOptions) => {
501
459
  assert.strictEqual(data.age, 32, 'data.age matches')
502
460
  },
503
461
  '.patch + $select': async () => {
504
- const originalData = { [idProp]: doug[idProp], name: 'PatchDoug' }
462
+ const originalData = {
463
+ [idProp]: doug[idProp],
464
+ name: 'PatchDoug',
465
+ age: 10,
466
+ }
505
467
 
506
468
  const data = await service.patch(doug[idProp], originalData, {
507
469
  query: { $select: ['name'] },
@@ -513,9 +475,10 @@ export default (options: MethodTestOptions) => {
513
475
  `${idProp} id property matches`,
514
476
  )
515
477
  assert.strictEqual(data.name, 'PatchDoug', 'data.name matches')
516
- assert.ok(!data.age, 'data.age is falsy')
478
+ assert.ok(!('age' in data), 'data.age is not present')
517
479
 
518
- // TODO: service.get(doug[idProp]) should have age set to 10
480
+ const changed = await service.get(doug[idProp])
481
+ assert.strictEqual(changed.age, originalData.age, 'data.age changed')
519
482
  },
520
483
  '.patch + id + query': async () => {
521
484
  await assert.rejects(
@@ -896,7 +859,7 @@ export default (options: MethodTestOptions) => {
896
859
 
897
860
  assert.ok(idProp in data, 'data has id')
898
861
  assert.strictEqual(data.name, 'William', 'data.name matches')
899
- assert.ok(!data.age, 'data.age is falsy')
862
+ assert.ok(!('age' in data), 'data.age is not present')
900
863
 
901
864
  const created = await service.get(data[idProp])
902
865
 
package/src/syntax.ts CHANGED
@@ -10,35 +10,6 @@ type SyntaxTestOptions = {
10
10
  idProp: string
11
11
  }
12
12
 
13
- export type AdapterTestNameSyntax =
14
- | '.find + equal'
15
- | '.find + equal multiple'
16
- | '.find + $sort'
17
- | '.find + $sort + string'
18
- | '.find + $limit'
19
- | '.find + $limit 0'
20
- | '.find + $skip'
21
- | '.find + $select'
22
- | '.find + $or'
23
- | '.find + $in'
24
- | '.find + $nin'
25
- | '.find + $lt'
26
- | '.find + $lte'
27
- | '.find + $gt'
28
- | '.find + $gte'
29
- | '.find + $ne'
30
- | '.find + $gt + $lt + $sort'
31
- | '.find + $or nested + $sort'
32
- | '.find + $and'
33
- | '.find + $and + $or'
34
- | 'params.adapter + paginate'
35
- | 'params.adapter + multi'
36
- | '.find + paginate'
37
- | '.find + paginate + query'
38
- | '.find + paginate + $limit + $skip'
39
- | '.find + paginate + $limit 0'
40
- | '.find + paginate + params'
41
-
42
13
  type SyntaxTests = {
43
14
  general: '.find + equal' | '.find + equal multiple'
44
15
  filters:
@@ -71,7 +42,7 @@ type SyntaxTests = {
71
42
  | '.find + paginate + params'
72
43
  }
73
44
 
74
- export type AdapterMethodsTestName = SyntaxTests[keyof SyntaxTests]
45
+ export type AdapterTestNameSyntax = SyntaxTests[keyof SyntaxTests]
75
46
 
76
47
  type TestName<T extends keyof SyntaxTests> = SyntaxTests[T]
77
48
 
@@ -83,7 +54,7 @@ type TestConfig<T extends keyof SyntaxTests> = Record<
83
54
  export default (options: SyntaxTestOptions) => {
84
55
  const { test, app, serviceName, idProp } = options
85
56
 
86
- describe('Query Syntax', () => {
57
+ describe('Syntax', () => {
87
58
  let bob: any
88
59
  let alice: any
89
60
  let doug: any
@@ -117,16 +88,16 @@ export default (options: SyntaxTestOptions) => {
117
88
  const params = { query: { name: 'Alice' } }
118
89
  const data = await service.find(params)
119
90
 
120
- assert.ok(Array.isArray(data))
121
- assert.strictEqual(data.length, 1)
122
- assert.strictEqual(data[0].name, 'Alice')
91
+ assert.ok(Array.isArray(data), 'data is an array')
92
+ assert.strictEqual(data.length, 1, 'data has one entry')
93
+ assert.strictEqual(data[0].name, 'Alice', 'correct name')
123
94
  },
124
95
  '.find + equal multiple': async () => {
125
96
  const data = await service.find({
126
97
  query: { name: 'Alice', age: 20 },
127
98
  })
128
99
 
129
- assert.strictEqual(data.length, 0)
100
+ assert.strictEqual(data.length, 0, 'no results')
130
101
  },
131
102
  } satisfies TestConfig<'general'>,
132
103
  filters: {
@@ -148,10 +119,10 @@ export default (options: SyntaxTestOptions) => {
148
119
  },
149
120
  })
150
121
 
151
- assert.strictEqual(data.length, 3)
152
- assert.strictEqual(data[0].name, 'Doug')
153
- assert.strictEqual(data[1].name, 'Bob')
154
- assert.strictEqual(data[2].name, 'Alice')
122
+ assert.strictEqual(data.length, 3, 'correct data.length')
123
+ assert.strictEqual(data[0].name, 'Doug', 'first item')
124
+ assert.strictEqual(data[1].name, 'Bob', 'second item')
125
+ assert.strictEqual(data[2].name, 'Alice', 'third item')
155
126
  },
156
127
  '.find + $sort + string': async () => {
157
128
  const data = await service.find({
@@ -160,10 +131,10 @@ export default (options: SyntaxTestOptions) => {
160
131
  },
161
132
  })
162
133
 
163
- assert.strictEqual(data.length, 3)
164
- assert.strictEqual(data[0].name, 'Alice')
165
- assert.strictEqual(data[1].name, 'Bob')
166
- assert.strictEqual(data[2].name, 'Doug')
134
+ assert.strictEqual(data.length, 3, 'correct data.length')
135
+ assert.strictEqual(data[0].name, 'Alice', 'first item')
136
+ assert.strictEqual(data[1].name, 'Bob', 'second item')
137
+ assert.strictEqual(data[2].name, 'Doug', 'third item')
167
138
  },
168
139
  '.find + $limit': async () => {
169
140
  const data = await service.find({
@@ -172,7 +143,7 @@ export default (options: SyntaxTestOptions) => {
172
143
  },
173
144
  })
174
145
 
175
- assert.strictEqual(data.length, 2)
146
+ assert.strictEqual(data.length, 2, 'correct data.length')
176
147
  },
177
148
  '.find + $limit 0': async () => {
178
149
  const data = await service.find({
@@ -181,7 +152,7 @@ export default (options: SyntaxTestOptions) => {
181
152
  },
182
153
  })
183
154
 
184
- assert.strictEqual(data.length, 0)
155
+ assert.strictEqual(data.length, 0, 'data array is empty')
185
156
  },
186
157
  '.find + $skip': async () => {
187
158
  const data = await service.find({
@@ -191,9 +162,9 @@ export default (options: SyntaxTestOptions) => {
191
162
  },
192
163
  })
193
164
 
194
- assert.strictEqual(data.length, 2)
195
- assert.strictEqual(data[0].name, 'Bob')
196
- assert.strictEqual(data[1].name, 'Doug')
165
+ assert.strictEqual(data.length, 2, 'correct data.length')
166
+ assert.strictEqual(data[0].name, 'Bob', 'first user')
167
+ assert.strictEqual(data[1].name, 'Doug', 'second user')
197
168
  },
198
169
  '.find + $select': async () => {
199
170
  const data = await service.find({
@@ -203,10 +174,10 @@ export default (options: SyntaxTestOptions) => {
203
174
  },
204
175
  })
205
176
 
206
- assert.strictEqual(data.length, 1)
177
+ assert.strictEqual(data.length, 1, 'correct data.length')
207
178
  assert.ok(idProp in data[0], 'data has id')
208
- assert.strictEqual(data[0].name, 'Alice')
209
- assert.strictEqual(data[0].age, undefined)
179
+ assert.strictEqual(data[0].name, 'Alice', 'correct name')
180
+ assert.strictEqual(data[0].age, undefined, 'age was not selected')
210
181
  },
211
182
  } satisfies TestConfig<'filters'>,
212
183
  operators: {
@@ -218,9 +189,9 @@ export default (options: SyntaxTestOptions) => {
218
189
  },
219
190
  })
220
191
 
221
- assert.strictEqual(data.length, 2)
222
- assert.strictEqual(data[0].name, 'Alice')
223
- assert.strictEqual(data[1].name, 'Bob')
192
+ assert.strictEqual(data.length, 2, 'correct data.length')
193
+ assert.strictEqual(data[0].name, 'Alice', 'first item')
194
+ assert.strictEqual(data[1].name, 'Bob', 'second item')
224
195
  },
225
196
  '.find + $in': async () => {
226
197
  const data = await service.find({
@@ -232,9 +203,9 @@ export default (options: SyntaxTestOptions) => {
232
203
  },
233
204
  })
234
205
 
235
- assert.strictEqual(data.length, 2)
236
- assert.strictEqual(data[0].name, 'Alice')
237
- assert.strictEqual(data[1].name, 'Bob')
206
+ assert.strictEqual(data.length, 2, 'correct data.length')
207
+ assert.strictEqual(data[0].name, 'Alice', 'first item')
208
+ assert.strictEqual(data[1].name, 'Bob', 'second item')
238
209
  },
239
210
  '.find + $nin': async () => {
240
211
  const data = await service.find({
@@ -245,8 +216,8 @@ export default (options: SyntaxTestOptions) => {
245
216
  },
246
217
  })
247
218
 
248
- assert.strictEqual(data.length, 1)
249
- assert.strictEqual(data[0].name, 'Doug')
219
+ assert.strictEqual(data.length, 1, 'correct data.length')
220
+ assert.strictEqual(data[0].name, 'Doug', 'correct item')
250
221
  },
251
222
  '.find + $lt': async () => {
252
223
  const data = await service.find({
@@ -257,7 +228,7 @@ export default (options: SyntaxTestOptions) => {
257
228
  },
258
229
  })
259
230
 
260
- assert.strictEqual(data.length, 2)
231
+ assert.strictEqual(data.length, 2, 'correct data.length')
261
232
  },
262
233
  '.find + $lte': async () => {
263
234
  const data = await service.find({
@@ -268,7 +239,7 @@ export default (options: SyntaxTestOptions) => {
268
239
  },
269
240
  })
270
241
 
271
- assert.strictEqual(data.length, 2)
242
+ assert.strictEqual(data.length, 2, 'correct data.length')
272
243
  },
273
244
  '.find + $gt': async () => {
274
245
  const data = await service.find({
@@ -279,7 +250,7 @@ export default (options: SyntaxTestOptions) => {
279
250
  },
280
251
  })
281
252
 
282
- assert.strictEqual(data.length, 1)
253
+ assert.strictEqual(data.length, 1, 'correct data.length')
283
254
  },
284
255
  '.find + $gte': async () => {
285
256
  const data = await service.find({
@@ -290,7 +261,7 @@ export default (options: SyntaxTestOptions) => {
290
261
  },
291
262
  })
292
263
 
293
- assert.strictEqual(data.length, 2)
264
+ assert.strictEqual(data.length, 2, 'correct data.length')
294
265
  },
295
266
  '.find + $ne': async () => {
296
267
  const data = await service.find({
@@ -301,7 +272,7 @@ export default (options: SyntaxTestOptions) => {
301
272
  },
302
273
  })
303
274
 
304
- assert.strictEqual(data.length, 2, 'correct length')
275
+ assert.strictEqual(data.length, 2, 'correct data.length')
305
276
  },
306
277
  '.find + $gt + $lt + $sort': async () => {
307
278
  const params = {
@@ -316,7 +287,7 @@ export default (options: SyntaxTestOptions) => {
316
287
 
317
288
  const data = await service.find(params)
318
289
 
319
- assert.strictEqual(data.length, 2, 'correct length')
290
+ assert.strictEqual(data.length, 2, 'correct data.length')
320
291
  assert.strictEqual(data[0].name, 'Alice', 'first user')
321
292
  assert.strictEqual(data[1].name, 'Bob', 'second user')
322
293
  },
@@ -338,7 +309,7 @@ export default (options: SyntaxTestOptions) => {
338
309
 
339
310
  const data = await service.find(params)
340
311
 
341
- assert.strictEqual(data.length, 2, 'correct length')
312
+ assert.strictEqual(data.length, 2, 'correct data.length')
342
313
  assert.strictEqual(data[0].name, 'Alice', 'first user')
343
314
  assert.strictEqual(data[1].name, 'Doug', 'second user')
344
315
  },
@@ -352,7 +323,7 @@ export default (options: SyntaxTestOptions) => {
352
323
 
353
324
  const data = await service.find(params)
354
325
 
355
- assert.strictEqual(data.length, 1, 'correct length')
326
+ assert.strictEqual(data.length, 1, 'correct data.length')
356
327
  assert.strictEqual(data[0].name, 'Alice', 'correct user')
357
328
  },
358
329
  '.find + $and + $or': async () => {
@@ -365,7 +336,7 @@ export default (options: SyntaxTestOptions) => {
365
336
 
366
337
  const data = await service.find(params)
367
338
 
368
- assert.strictEqual(data.length, 1, 'correct length')
339
+ assert.strictEqual(data.length, 1, 'correct data.length')
369
340
  assert.strictEqual(data[0].name, 'Alice', 'correct user')
370
341
  },
371
342
  } satisfies TestConfig<'operators'>,
@@ -398,7 +369,7 @@ export default (options: SyntaxTestOptions) => {
398
369
  }
399
370
  const users = await service.create(items, multiParams)
400
371
 
401
- assert.strictEqual(users.length, 2)
372
+ assert.strictEqual(users.length, 2, 'created two items')
402
373
 
403
374
  await service.remove(users[0][idProp])
404
375
  await service.remove(users[1][idProp])