@zeltjs/testing 0.0.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -0
- package/dist/adapters/bun.d.ts +2 -0
- package/dist/adapters/bun.js +8 -0
- package/dist/adapters/bun.js.map +1 -0
- package/dist/adapters/jest.d.ts +2 -0
- package/dist/adapters/jest.js +8 -0
- package/dist/adapters/jest.js.map +1 -0
- package/dist/adapters/node.d.ts +2 -0
- package/dist/adapters/node.js +8 -0
- package/dist/adapters/node.js.map +1 -0
- package/dist/adapters/vitest.d.ts +2 -0
- package/dist/adapters/vitest.js +8 -0
- package/dist/adapters/vitest.js.map +1 -0
- package/dist/index-BQPhTvBe.d.ts +35 -0
- package/dist/index-BQPhTvBe.d.ts.map +1 -0
- package/dist/index.d.ts +2 -15
- package/dist/index.js +2 -20
- package/dist/src-CUYWocvI.js +51 -0
- package/dist/src-CUYWocvI.js.map +1 -0
- package/package.json +42 -5
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# @zeltjs/testing
|
|
2
|
+
|
|
3
|
+
[](https://zeltjs.com)
|
|
4
|
+
|
|
5
|
+
Testing utilities for Zelt applications.
|
|
6
|
+
|
|
7
|
+
**[Read the Documentation](https://zeltjs.com)**
|
|
8
|
+
|
|
9
|
+
## Installation
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -D @zeltjs/testing
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
import { createTestApp } from '@zeltjs/testing';
|
|
19
|
+
import { describe, it, expect } from 'vitest';
|
|
20
|
+
|
|
21
|
+
describe('HelloController', () => {
|
|
22
|
+
it('returns hello message', async () => {
|
|
23
|
+
const app = createTestApp({ controllers: [HelloController] });
|
|
24
|
+
const res = await app.request('/hello');
|
|
25
|
+
expect(res.status).toBe(200);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
```
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "../index-BQPhTvBe.js";
|
|
2
|
+
export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-CUYWocvI.js";
|
|
2
|
+
import { afterAll } from "bun:test";
|
|
3
|
+
//#region src/adapters/bun.ts
|
|
4
|
+
afterAll(shutdownAll);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=bun.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bun.js","names":["afterAll","shutdownAll"],"sources":["../../src/adapters/bun.ts"],"sourcesContent":["import { afterAll } from 'bun:test';\n\nimport { shutdownAll } from '../shutdown-registry';\n\nafterAll(shutdownAll);\n\nexport * from '../index';\n"],"mappings":";;;AAIAA,SAASC,YAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "../index-BQPhTvBe.js";
|
|
2
|
+
export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-CUYWocvI.js";
|
|
2
|
+
import { afterAll } from "@jest/globals";
|
|
3
|
+
//#region src/adapters/jest.ts
|
|
4
|
+
afterAll(shutdownAll);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=jest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jest.js","names":["afterAll","shutdownAll"],"sources":["../../src/adapters/jest.ts"],"sourcesContent":["import { afterAll } from '@jest/globals';\n\nimport { shutdownAll } from '../shutdown-registry';\n\nafterAll(shutdownAll);\n\nexport * from '../index';\n"],"mappings":";;;AAIAA,SAASC,YAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "../index-BQPhTvBe.js";
|
|
2
|
+
export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-CUYWocvI.js";
|
|
2
|
+
import { after } from "node:test";
|
|
3
|
+
//#region src/adapters/node.ts
|
|
4
|
+
after(shutdownAll);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","names":["after","shutdownAll"],"sources":["../../src/adapters/node.ts"],"sourcesContent":["import { after } from 'node:test';\n\nimport { shutdownAll } from '../shutdown-registry';\n\nafter(shutdownAll);\n\nexport * from '../index';\n"],"mappings":";;;AAIAA,MAAMC,YAAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "../index-BQPhTvBe.js";
|
|
2
|
+
export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "../src-CUYWocvI.js";
|
|
2
|
+
import { afterAll } from "vitest";
|
|
3
|
+
//#region src/adapters/vitest.ts
|
|
4
|
+
afterAll(shutdownAll);
|
|
5
|
+
//#endregion
|
|
6
|
+
export { configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=vitest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vitest.js","names":["afterAll","shutdownAll"],"sources":["../../src/adapters/vitest.ts"],"sourcesContent":["import { afterAll } from 'vitest';\n\nimport { shutdownAll } from '../shutdown-registry';\n\nafterAll(shutdownAll);\n\nexport * from '../index';\n"],"mappings":";;;AAIAA,SAASC,YAAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CreateTestTargetOptions, CreateTestTargetOptions as CreateTestTargetOptions$1, TestTargetResult, TestTargetResult as TestTargetResult$1 } from "@zeltjs/core/internal-bridge/testing";
|
|
2
|
+
import { ConfigClass, HttpApp } from "@zeltjs/core";
|
|
3
|
+
|
|
4
|
+
//#region src/global-config.d.ts
|
|
5
|
+
type AnyConfigClass$1 = ConfigClass<object>;
|
|
6
|
+
type TestDefaults = {
|
|
7
|
+
readonly configs: readonly AnyConfigClass$1[];
|
|
8
|
+
};
|
|
9
|
+
type ConfigureOptions = {
|
|
10
|
+
readonly configs: readonly AnyConfigClass$1[];
|
|
11
|
+
};
|
|
12
|
+
declare const configureTestDefaults: (options: ConfigureOptions) => void;
|
|
13
|
+
declare const getTestDefaults: () => TestDefaults;
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/on-test.d.ts
|
|
16
|
+
type AnyConfigClass = ConfigClass<object>;
|
|
17
|
+
type OnTestOptions = {
|
|
18
|
+
readonly configs?: readonly AnyConfigClass[];
|
|
19
|
+
};
|
|
20
|
+
type TestApp = {
|
|
21
|
+
readonly fetch: (request: Request) => Promise<Response>;
|
|
22
|
+
readonly request: (input: string | Request, init?: RequestInit) => Promise<Response>;
|
|
23
|
+
readonly shutdown: () => Promise<void>;
|
|
24
|
+
};
|
|
25
|
+
declare const onTest: (app: HttpApp, options?: OnTestOptions) => Promise<TestApp>;
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/shutdown-registry.d.ts
|
|
28
|
+
declare const shutdownAll: () => Promise<void>;
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/test-target.d.ts
|
|
31
|
+
/** @throws {ZeltLifecycleStateError} */
|
|
32
|
+
declare const createTestTarget: <T extends object>(targetClass: new (...args: never[]) => T, options?: CreateTestTargetOptions) => Promise<TestTargetResult<T>>;
|
|
33
|
+
//#endregion
|
|
34
|
+
export { TestApp as a, getTestDefaults as c, shutdownAll as i, TestTargetResult$1 as n, onTest as o, createTestTarget as r, configureTestDefaults as s, CreateTestTargetOptions$1 as t };
|
|
35
|
+
//# sourceMappingURL=index-BQPhTvBe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-BQPhTvBe.d.ts","names":[],"sources":["../src/global-config.ts","../src/on-test.ts","../src/shutdown-registry.ts","../src/test-target.ts"],"mappings":";;;;KAEK,gBAAA,GAAiB,WAAA;AAAA,KAEjB,YAAA;EAAA,SACM,OAAA,WAAkB,gBAAA;AAAA;AAAA,KAGxB,gBAAA;EAAA,SACM,OAAA,WAAkB,gBAAA;AAAA;AAAA,cAKhB,qBAAA,GAAyB,OAAA,EAAS,gBAAA;AAAA,cAIlC,eAAA,QAAsB,YAAA;;;KCb9B,cAAA,GAAiB,WAAA;AAAA,KAEjB,aAAA;EAAA,SACM,OAAA,YAAmB,cAAA;AAAA;AAAA,KAGlB,OAAA;EAAA,SACD,KAAA,GAAQ,OAAA,EAAS,OAAA,KAAY,OAAA,CAAQ,QAAA;EAAA,SACrC,OAAA,GAAU,KAAA,WAAgB,OAAA,EAAS,IAAA,GAAO,WAAA,KAAgB,OAAA,CAAQ,QAAA;EAAA,SAClE,QAAA,QAAgB,OAAA;AAAA;AAAA,cASd,MAAA,GAAgB,GAAA,EAAK,OAAA,EAAS,OAAA,GAAS,aAAA,KAAqB,OAAA,CAAQ,OAAA;;;cCfpE,WAAA,QAAwB,OAAA;;;;cCcxB,gBAAA,qBACX,WAAA,UAAqB,IAAA,cAAkB,CAAA,EACvC,OAAA,GAAS,uBAAA,KACR,OAAA,CAAQ,gBAAA,CAAiB,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
//#region src/test-container.d.ts
|
|
4
|
-
type PickedProvider<T> = {
|
|
5
|
-
provide: Token<T>;
|
|
6
|
-
useValue: Partial<T>;
|
|
7
|
-
};
|
|
8
|
-
type CreateContainerParams = <T, A extends unknown[]>(token: Token<T>, providers?: { [K in keyof A]: PickedProvider<A[K]> }) => {
|
|
9
|
-
target: T;
|
|
10
|
-
container: Container;
|
|
11
|
-
};
|
|
12
|
-
declare const createTestContainer: CreateContainerParams;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { createTestContainer };
|
|
15
|
-
//# sourceMappingURL=index.d.ts.map
|
|
1
|
+
import { a as TestApp, c as getTestDefaults, i as shutdownAll, n as TestTargetResult, o as onTest, r as createTestTarget, s as configureTestDefaults, t as CreateTestTargetOptions } from "./index-BQPhTvBe.js";
|
|
2
|
+
export { CreateTestTargetOptions, TestApp, TestTargetResult, configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
package/dist/index.js
CHANGED
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
let baseContainer = null;
|
|
4
|
-
const createTestContainer = (targetClass, providers) => {
|
|
5
|
-
const childContainer = getBaseContainer().createChild();
|
|
6
|
-
providers?.map((p) => childContainer.bind(p));
|
|
7
|
-
return {
|
|
8
|
-
target: childContainer.get(targetClass),
|
|
9
|
-
container: childContainer
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
const getBaseContainer = () => {
|
|
13
|
-
if (baseContainer) return baseContainer;
|
|
14
|
-
baseContainer = new Container();
|
|
15
|
-
return baseContainer;
|
|
16
|
-
};
|
|
17
|
-
//#endregion
|
|
18
|
-
export { createTestContainer };
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import { a as getTestDefaults, i as configureTestDefaults, n as onTest, r as shutdownAll, t as createTestTarget } from "./src-CUYWocvI.js";
|
|
2
|
+
export { configureTestDefaults, createTestTarget, getTestDefaults, onTest, shutdownAll };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createTestTargetBase } from "@zeltjs/core/internal-bridge/testing";
|
|
2
|
+
//#region src/global-config.ts
|
|
3
|
+
const globalConfigs = [];
|
|
4
|
+
const configureTestDefaults = (options) => {
|
|
5
|
+
globalConfigs.push(...options.configs);
|
|
6
|
+
};
|
|
7
|
+
const getTestDefaults = () => ({ configs: globalConfigs });
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/shutdown-registry.ts
|
|
10
|
+
const shutdownFns = [];
|
|
11
|
+
const registerShutdown = (fn) => {
|
|
12
|
+
shutdownFns.push(fn);
|
|
13
|
+
};
|
|
14
|
+
const shutdownAll = async () => {
|
|
15
|
+
const fns = shutdownFns.splice(0);
|
|
16
|
+
for (const fn of fns) await fn();
|
|
17
|
+
};
|
|
18
|
+
//#endregion
|
|
19
|
+
//#region src/on-test.ts
|
|
20
|
+
const applyOverrides = (app, configs) => {
|
|
21
|
+
for (const configClass of configs) app.overrideConfig(configClass);
|
|
22
|
+
};
|
|
23
|
+
const onTest = async (app, options = {}) => {
|
|
24
|
+
applyOverrides(app, getTestDefaults().configs);
|
|
25
|
+
applyOverrides(app, options.configs ?? []);
|
|
26
|
+
await app.ready();
|
|
27
|
+
registerShutdown(app.shutdown.bind(app));
|
|
28
|
+
return {
|
|
29
|
+
fetch: app.fetch.bind(app),
|
|
30
|
+
request: app.request.bind(app),
|
|
31
|
+
shutdown: app.shutdown.bind(app)
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region src/test-target.ts
|
|
36
|
+
const mergeGlobalDefaults = (configs) => {
|
|
37
|
+
return [...getTestDefaults().configs, ...configs];
|
|
38
|
+
};
|
|
39
|
+
/** @throws {ZeltLifecycleStateError} */ const createTestTarget = async (targetClass, options = {}) => {
|
|
40
|
+
const mergedConfigs = mergeGlobalDefaults(options.configs ?? []);
|
|
41
|
+
const result = await createTestTargetBase(targetClass, {
|
|
42
|
+
...options,
|
|
43
|
+
configs: mergedConfigs
|
|
44
|
+
});
|
|
45
|
+
registerShutdown(result.shutdown);
|
|
46
|
+
return result;
|
|
47
|
+
};
|
|
48
|
+
//#endregion
|
|
49
|
+
export { getTestDefaults as a, configureTestDefaults as i, onTest as n, shutdownAll as r, createTestTarget as t };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=src-CUYWocvI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"src-CUYWocvI.js","names":["globalConfigs","configureTestDefaults","options","push","configs","getTestDefaults","shutdownFns","registerShutdown","fn","push","shutdownAll","fns","splice","getTestDefaults","registerShutdown","applyOverrides","app","configs","configClass","overrideConfig","onTest","options","defaults","ready","shutdown","bind","fetch","request","createTestTargetBase","getTestDefaults","registerShutdown","mergeGlobalDefaults","configs","defaults","createTestTarget","targetClass","options","mergedConfigs","result","shutdown"],"sources":["../src/global-config.ts","../src/shutdown-registry.ts","../src/on-test.ts","../src/test-target.ts"],"sourcesContent":["import type { ConfigClass } from '@zeltjs/core';\n\ntype AnyConfigClass = ConfigClass<object>;\n\ntype TestDefaults = {\n readonly configs: readonly AnyConfigClass[];\n};\n\ntype ConfigureOptions = {\n readonly configs: readonly AnyConfigClass[];\n};\n\nconst globalConfigs: AnyConfigClass[] = [];\n\nexport const configureTestDefaults = (options: ConfigureOptions): void => {\n globalConfigs.push(...options.configs);\n};\n\nexport const getTestDefaults = (): TestDefaults => ({ configs: globalConfigs });\n","type ShutdownFn = () => Promise<void>;\n\nconst shutdownFns: ShutdownFn[] = [];\n\nexport const registerShutdown = (fn: ShutdownFn): void => {\n shutdownFns.push(fn);\n};\n\nexport const shutdownAll = async (): Promise<void> => {\n const fns = shutdownFns.splice(0);\n for (const fn of fns) {\n await fn();\n }\n};\n","import type { ConfigClass, HttpApp } from '@zeltjs/core';\n\nimport { getTestDefaults } from './global-config';\nimport { registerShutdown } from './shutdown-registry';\n\ntype AnyConfigClass = ConfigClass<object>;\n\ntype OnTestOptions = {\n readonly configs?: readonly AnyConfigClass[];\n};\n\nexport type TestApp = {\n readonly fetch: (request: Request) => Promise<Response>;\n readonly request: (input: string | Request, init?: RequestInit) => Promise<Response>;\n readonly shutdown: () => Promise<void>;\n};\n\nconst applyOverrides = (app: HttpApp, configs: readonly AnyConfigClass[]): void => {\n for (const configClass of configs) {\n app.overrideConfig(configClass);\n }\n};\n\nexport const onTest = async (app: HttpApp, options: OnTestOptions = {}): Promise<TestApp> => {\n const defaults = getTestDefaults();\n applyOverrides(app, defaults.configs);\n applyOverrides(app, options.configs ?? []);\n\n await app.ready();\n registerShutdown(app.shutdown.bind(app));\n\n return {\n fetch: app.fetch.bind(app),\n request: app.request.bind(app),\n shutdown: app.shutdown.bind(app),\n };\n};\n","import type {\n CreateTestTargetOptions,\n TestTargetResult,\n} from '@zeltjs/core/internal-bridge/testing';\nimport { createTestTargetBase } from '@zeltjs/core/internal-bridge/testing';\n\nimport { getTestDefaults } from './global-config';\nimport { registerShutdown } from './shutdown-registry';\n\nexport type {\n CreateTestTargetOptions,\n TestTargetResult,\n} from '@zeltjs/core/internal-bridge/testing';\n\ntype AnyConstructor = new (...args: never[]) => unknown;\n\nconst mergeGlobalDefaults = (configs: readonly AnyConstructor[]): AnyConstructor[] => {\n const defaults = getTestDefaults();\n return [...defaults.configs, ...configs];\n};\n\n/** @throws {ZeltLifecycleStateError} */\nexport const createTestTarget = async <T extends object>(\n targetClass: new (...args: never[]) => T,\n options: CreateTestTargetOptions = {},\n): Promise<TestTargetResult<T>> => {\n const mergedConfigs = mergeGlobalDefaults(options.configs ?? []);\n const result = await createTestTargetBase(targetClass, {\n ...options,\n configs: mergedConfigs,\n });\n registerShutdown(result.shutdown);\n return result;\n};\n"],"mappings":";;AAYA,MAAMA,gBAAkC,EAAE;AAE1C,MAAaC,yBAAyBC,YAAAA;AACpCF,eAAcG,KAAI,GAAID,QAAQE,QAAO;;AAGvC,MAAaC,yBAAuC,EAAED,SAASJ,eAAc;;;AChB7E,MAAMM,cAA4B,EAAE;AAEpC,MAAaC,oBAAoBC,OAAAA;AAC/BF,aAAYG,KAAKD,GAAAA;;AAGnB,MAAaE,cAAc,YAAA;CACzB,MAAMC,MAAML,YAAYM,OAAO,EAAA;AAC/B,MAAK,MAAMJ,MAAMG,IACf,OAAMH,IAAAA;;;;ACMV,MAAMO,kBAAkBC,KAAcC,YAAAA;AACpC,MAAK,MAAMC,eAAeD,QACxBD,KAAIG,eAAeD,YAAAA;;AAIvB,MAAaE,SAAS,OAAOJ,KAAcK,UAAyB,EAAE,KAAA;AAEpEN,gBAAeC,KADEH,iBACGS,CAASL,QAAO;AACpCF,gBAAeC,KAAKK,QAAQJ,WAAW,EAAE,CAAA;AAEzC,OAAMD,IAAIO,OAAK;AACfT,kBAAiBE,IAAIQ,SAASC,KAAKT,IAAAA,CAAAA;AAEnC,QAAO;EACLU,OAAOV,IAAIU,MAAMD,KAAKT,IAAAA;EACtBW,SAASX,IAAIW,QAAQF,KAAKT,IAAAA;EAC1BQ,UAAUR,IAAIQ,SAASC,KAAKT,IAAAA;EAC9B;;;;ACnBF,MAAMe,uBAAuBC,YAAAA;AAE3B,QAAO,CAAA,GADUH,iBACNI,CAASD,SAAAA,GAAYA,QAAQ;;yCAI1C,MAAaE,mBAAmB,OAC9BC,aACAC,UAAmC,EAAE,KAAA;CAErC,MAAMC,gBAAgBN,oBAAoBK,QAAQJ,WAAW,EAAE,CAAA;CAC/D,MAAMM,SAAS,MAAMV,qBAAqBO,aAAa;EACrD,GAAGC;EACHJ,SAASK;EACX,CAAA;AACAP,kBAAiBQ,OAAOC,SAAQ;AAChC,QAAOD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zeltjs/testing",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -15,18 +15,55 @@
|
|
|
15
15
|
".": {
|
|
16
16
|
"types": "./dist/index.d.ts",
|
|
17
17
|
"import": "./dist/index.js"
|
|
18
|
+
},
|
|
19
|
+
"./vitest": {
|
|
20
|
+
"types": "./dist/adapters/vitest.d.ts",
|
|
21
|
+
"import": "./dist/adapters/vitest.js"
|
|
22
|
+
},
|
|
23
|
+
"./jest": {
|
|
24
|
+
"types": "./dist/adapters/jest.d.ts",
|
|
25
|
+
"import": "./dist/adapters/jest.js"
|
|
26
|
+
},
|
|
27
|
+
"./bun": {
|
|
28
|
+
"types": "./dist/adapters/bun.d.ts",
|
|
29
|
+
"import": "./dist/adapters/bun.js"
|
|
30
|
+
},
|
|
31
|
+
"./node": {
|
|
32
|
+
"types": "./dist/adapters/node.d.ts",
|
|
33
|
+
"import": "./dist/adapters/node.js"
|
|
18
34
|
}
|
|
19
35
|
},
|
|
20
36
|
"files": [
|
|
21
37
|
"dist"
|
|
22
38
|
],
|
|
23
39
|
"peerDependencies": {
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
40
|
+
"vitest": ">=2",
|
|
41
|
+
"@jest/globals": ">=29",
|
|
42
|
+
"bun-types": ">=1",
|
|
43
|
+
"@types/node": ">=20",
|
|
44
|
+
"@zeltjs/core": "0.6.0"
|
|
45
|
+
},
|
|
46
|
+
"peerDependenciesMeta": {
|
|
47
|
+
"vitest": {
|
|
48
|
+
"optional": true
|
|
49
|
+
},
|
|
50
|
+
"@jest/globals": {
|
|
51
|
+
"optional": true
|
|
52
|
+
},
|
|
53
|
+
"bun-types": {
|
|
54
|
+
"optional": true
|
|
55
|
+
},
|
|
56
|
+
"@types/node": {
|
|
57
|
+
"optional": true
|
|
58
|
+
}
|
|
27
59
|
},
|
|
28
60
|
"devDependencies": {
|
|
29
|
-
"@
|
|
61
|
+
"@jest/globals": "29.7.0",
|
|
62
|
+
"bun-types": "1.2.14",
|
|
63
|
+
"vitest": "4.1.5"
|
|
64
|
+
},
|
|
65
|
+
"volta": {
|
|
66
|
+
"extends": "../../package.json"
|
|
30
67
|
},
|
|
31
68
|
"scripts": {
|
|
32
69
|
"build": "tsdown",
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/test-container.ts"],"mappings":";;;KAKK,cAAA;EACH,OAAA,EAAS,KAAA,CAAM,CAAA;EACf,QAAA,EAAU,OAAA,CAAQ,CAAA;AAAA;AAAA,KAGf,qBAAA,4BACH,KAAA,EAAO,KAAA,CAAM,CAAA,GACb,SAAA,iBAA0B,CAAA,GAAI,cAAA,CAAe,CAAA,CAAE,CAAA;EAC1C,MAAA,EAAQ,CAAA;EAAG,SAAA,EAAW,SAAA;AAAA;AAAA,cAEhB,mBAAA,EAAqB,qBAAA"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/test-container.ts"],"sourcesContent":["import { Container } from '@needle-di/core';\nimport type { Token } from '@needle-di/core';\n\nlet baseContainer: Container | null = null;\n\ntype PickedProvider<T> = {\n provide: Token<T>;\n useValue: Partial<T>;\n};\n\ntype CreateContainerParams = <T, A extends unknown[]>(\n token: Token<T>,\n providers?: { [K in keyof A]: PickedProvider<A[K]> },\n) => { target: T; container: Container };\n\nexport const createTestContainer: CreateContainerParams = (targetClass, providers) => {\n const baseContainer = getBaseContainer();\n const childContainer = baseContainer.createChild();\n providers?.map((p) => childContainer.bind(p));\n const target = childContainer.get(targetClass); // 依存関係を解決してインスタンスを生成\n return { target, container: childContainer };\n};\n\nconst getBaseContainer = () => {\n if (baseContainer) {\n return baseContainer;\n }\n baseContainer = new Container();\n\n // 本来は利用側で必要なものをdummy inject する\n // (zelt framework 自体は default 持たない)\n\n return baseContainer;\n};\n"],"mappings":";;AAGA,IAAI,gBAAkC;AAYtC,MAAa,uBAA8C,aAAa,cAAc;CAEpF,MAAM,iBADgB,kBACc,CAAC,aAAa;AAClD,YAAW,KAAK,MAAM,eAAe,KAAK,EAAE,CAAC;AAE7C,QAAO;EAAE,QADM,eAAe,IAAI,YACnB;EAAE,WAAW;EAAgB;;AAG9C,MAAM,yBAAyB;AAC7B,KAAI,cACF,QAAO;AAET,iBAAgB,IAAI,WAAW;AAK/B,QAAO"}
|