feathers-adapter-vitest 0.0.4 → 0.0.5

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.d.ts CHANGED
@@ -1,10 +1,11 @@
1
- import type { AdapterBasicTest } from './declarations.js';
1
+ import type { Test } from './declarations.js';
2
2
  import type { Application } from '@feathersjs/feathers';
3
3
  type BasicTestOptions = {
4
4
  app: Application;
5
- test: AdapterBasicTest;
5
+ test: Test;
6
6
  serviceName: string;
7
7
  idProp: string;
8
8
  };
9
+ export type AdapterTestNameBasic = '.id' | '.options' | '.events' | '._get' | '._find' | '._create' | '._update' | '._patch' | '._remove';
9
10
  declare const _default: (options: BasicTestOptions) => void;
10
11
  export default _default;
package/dist/basic.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import assert from 'node:assert';
2
- import { describe, beforeEach, it } from 'vitest';
2
+ import { describe, beforeEach } from 'vitest';
3
3
  export default (options) => {
4
4
  const { test, app, serviceName, idProp } = options;
5
5
  describe('Basic Functionality', () => {
@@ -7,35 +7,38 @@ export default (options) => {
7
7
  beforeEach(() => {
8
8
  service = app.service(serviceName);
9
9
  });
10
- it('.id', () => {
11
- assert.strictEqual(service.id, idProp, 'id property is set to expected name');
12
- });
13
- test('.options', () => {
14
- assert.ok(service.options, 'Options are available in service.options');
15
- });
16
- test('.events', () => {
17
- assert.ok(service.events.includes('testing'), 'service.events is set and includes "testing"');
18
- });
19
- describe('Raw Methods', () => {
20
- test('._get', () => {
10
+ const config = {
11
+ '.id': () => {
12
+ assert.strictEqual(service.id, idProp, 'id property is set to expected name');
13
+ },
14
+ '.options': () => {
15
+ assert.ok(service.options, 'Options are available in service.options');
16
+ },
17
+ '.events': () => {
18
+ assert.ok(service.events.includes('testing'), 'service.events is set and includes "testing"');
19
+ },
20
+ '._get': () => {
21
21
  assert.strictEqual(typeof service._get, 'function');
22
- });
23
- test('._find', () => {
22
+ },
23
+ '._find': () => {
24
24
  assert.strictEqual(typeof service._find, 'function');
25
- });
26
- test('._create', () => {
25
+ },
26
+ '._create': () => {
27
27
  assert.strictEqual(typeof service._create, 'function');
28
- });
29
- test('._update', () => {
28
+ },
29
+ '._update': () => {
30
30
  assert.strictEqual(typeof service._update, 'function');
31
- });
32
- test('._patch', () => {
31
+ },
32
+ '._patch': () => {
33
33
  assert.strictEqual(typeof service._patch, 'function');
34
- });
35
- test('._remove', () => {
34
+ },
35
+ '._remove': () => {
36
36
  assert.strictEqual(typeof service._remove, 'function');
37
- });
38
- });
37
+ },
38
+ };
39
+ for (const testName in config) {
40
+ test(testName, async () => config[testName]());
41
+ }
39
42
  });
40
43
  };
41
44
  //# sourceMappingURL=basic.js.map
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,EAAE,EAAE,MAAM,QAAQ,CAAA;AAWjD,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,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACb,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,EAAE,EACV,MAAM,EACN,qCAAqC,CACtC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;YACpB,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,0CAA0C,CAAC,CAAA;QACxE,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YACnB,MAAM,CAAC,EAAE,CACP,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAClC,8CAA8C,CAC/C,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;YAC3B,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACjB,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YACrD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBAClB,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;YACtD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBACpB,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACxD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBACpB,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACxD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;gBACnB,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YACvD,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;gBACpB,MAAM,CAAC,WAAW,CAAC,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YACxD,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,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,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,9 +1 @@
1
- export type AdapterTest = (name: AdapterTestName, runner: any) => void;
2
- export type AdapterBasicTest = (name: AdapterBasicTestName, runner: any) => void;
3
- export type AdapterMethodsTest = (name: AdapterMethodsTestName, runner: any) => void;
4
- export type AdapterSyntaxTest = (name: AdapterSyntaxTestName, runner: any) => void;
5
- export type AdapterTestName = AdapterBasicTestName | AdapterMethodsTestName | AdapterSyntaxTestName;
6
- export type AdapterTestMap = Record<AdapterTestName, boolean>;
7
- export type AdapterBasicTestName = '.id' | '.options' | '.events' | '._get' | '._find' | '._create' | '._update' | '._patch' | '._remove' | '.$get' | '.$find' | '.$create' | '.$update' | '.$patch' | '.$remove';
8
- export type AdapterMethodsTestName = '.get' | '.get + $select' | '.get + id + query' | '.get + NotFound' | '.get + id + query id' | '.find' | '.remove' | '.remove + $select' | '.remove + id + query' | '.remove + multi' | '.remove + multi no pagination' | '.remove + id + query id' | '.update' | '.update + $select' | '.update + id + query' | '.update + NotFound' | '.update + query + NotFound' | '.update + id + query id' | '.patch' | '.patch + $select' | '.patch + id + query' | '.patch multiple' | '.patch multiple no pagination' | '.patch multi query same' | '.patch multi query changed' | '.patch + NotFound' | '.patch + query + NotFound' | '.patch + id + query id' | '.create' | '.create + $select' | '.create multi' | '.create ignores query' | 'internal .find' | 'internal .get' | 'internal .create' | 'internal .update' | 'internal .patch' | 'internal .remove';
9
- export type AdapterSyntaxTestName = '.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';
1
+ export type Test = (name: string, runner: any) => void;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import type { Application } from '@feathersjs/feathers';
2
- import type { AdapterTestMap } from './declarations.js';
2
+ import type { AdapterTestNameBasic } from './basic.js';
3
+ import type { AdapterTestNameMethods } from './methods.js';
4
+ import type { AdapterTestNameSyntax } from './syntax.js';
3
5
  export type TestSuiteOptions = {
4
6
  app: Application;
5
7
  serviceName: string;
@@ -8,5 +10,10 @@ export type TestSuiteOptions = {
8
10
  */
9
11
  idProp?: string;
10
12
  };
11
- export declare const defineTestSuite: (testMap?: AdapterTestMap) => (options: TestSuiteOptions) => void;
13
+ export type AdapterTestName = AdapterTestNameBasic | AdapterTestNameMethods | AdapterTestNameSyntax;
14
+ export type AdapterTestMap = Record<AdapterTestName, boolean>;
15
+ export type DefineTestSuiteOptions = {
16
+ blacklist?: AdapterTestName[];
17
+ };
18
+ export declare const defineTestSuite: (defineOptions?: DefineTestSuiteOptions) => (options: TestSuiteOptions) => void;
12
19
  export * from './declarations.js';
package/dist/index.js CHANGED
@@ -2,13 +2,15 @@ import basicTests from './basic.js';
2
2
  import methodTests from './methods.js';
3
3
  import syntaxTests from './syntax.js';
4
4
  import { describe, it, afterAll } from 'vitest';
5
- export const defineTestSuite = (testMap) => {
5
+ export const defineTestSuite = (defineOptions) => {
6
6
  return (options) => {
7
7
  const { app, serviceName, idProp = 'id' } = options;
8
8
  const skippedTests = [];
9
9
  const allTests = [];
10
10
  const test = (name, runner) => {
11
- const skip = testMap ? !testMap[name] : false;
11
+ const skip = defineOptions?.blacklist
12
+ ? defineOptions.blacklist.includes(name)
13
+ : false;
12
14
  const its = skip ? it.skip : it;
13
15
  if (skip) {
14
16
  skippedTests.push(name);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,WAAW,MAAM,cAAc,CAAA;AACtC,OAAO,WAAW,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAW/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAwB,EAAE,EAAE;IAC1D,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,IAAqB,EAAE,MAAW,EAAE,EAAE;YAClD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;YAC7C,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,IAAI,CAAC,CAAA;YACzB,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAEnB,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,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAsB/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,MAAM,IAAI,GAAG,aAAa,EAAE,SAAS;gBACnC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAuB,CAAC;gBAC3D,CAAC,CAAC,KAAK,CAAA;YACT,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"}
package/dist/methods.d.ts CHANGED
@@ -1,10 +1,20 @@
1
- import type { AdapterMethodsTest } from './declarations.js';
1
+ import type { Test } from './declarations.js';
2
2
  import type { Application } from '@feathersjs/feathers';
3
3
  type MethodTestOptions = {
4
4
  app: Application;
5
- test: AdapterMethodsTest;
5
+ test: Test;
6
6
  serviceName: string;
7
7
  idProp: string;
8
8
  };
9
+ type MethodTests = {
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';
15
+ create: '.create' | '.create + $select' | '.create multi' | '.create ignores query';
16
+ internal: 'internal .find' | 'internal .get' | 'internal .create' | 'internal .update' | 'internal .patch' | 'internal .remove';
17
+ };
18
+ export type AdapterTestNameMethods = MethodTests[keyof MethodTests];
9
19
  declare const _default: (options: MethodTestOptions) => void;
10
20
  export default _default;