@stratal/testing 0.0.12 → 0.0.14
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/index.d.mts +1070 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +1689 -0
- package/dist/index.mjs.map +1 -0
- package/dist/mocks/index.d.mts +2 -0
- package/dist/mocks/index.mjs +2 -0
- package/dist/mocks/nodemailer.d.mts +12 -0
- package/dist/mocks/nodemailer.d.mts.map +1 -0
- package/dist/mocks/nodemailer.mjs +7 -0
- package/dist/mocks/nodemailer.mjs.map +1 -0
- package/dist/mocks/zenstack-language.d.mts +48 -0
- package/dist/mocks/zenstack-language.d.mts.map +1 -0
- package/dist/mocks/zenstack-language.mjs +48 -0
- package/dist/mocks/zenstack-language.mjs.map +1 -0
- package/dist/vitest-plugin/index.d.mts +50 -0
- package/dist/vitest-plugin/index.d.mts.map +1 -0
- package/dist/vitest-plugin/index.mjs +86 -0
- package/dist/vitest-plugin/index.mjs.map +1 -0
- package/package.json +21 -19
- package/dist/auth/acting-as.d.ts +0 -21
- package/dist/auth/acting-as.d.ts.map +0 -1
- package/dist/auth/acting-as.js +0 -68
- package/dist/auth/acting-as.js.map +0 -1
- package/dist/auth/index.d.ts +0 -2
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -2
- package/dist/auth/index.js.map +0 -1
- package/dist/core/env/index.d.ts +0 -2
- package/dist/core/env/index.d.ts.map +0 -1
- package/dist/core/env/index.js +0 -2
- package/dist/core/env/index.js.map +0 -1
- package/dist/core/env/test-env.d.ts +0 -9
- package/dist/core/env/test-env.d.ts.map +0 -1
- package/dist/core/env/test-env.js +0 -14
- package/dist/core/env/test-env.js.map +0 -1
- package/dist/core/http/fetch-mock.types.d.ts +0 -48
- package/dist/core/http/fetch-mock.types.d.ts.map +0 -1
- package/dist/core/http/fetch-mock.types.js +0 -2
- package/dist/core/http/fetch-mock.types.js.map +0 -1
- package/dist/core/http/index.d.ts +0 -6
- package/dist/core/http/index.d.ts.map +0 -1
- package/dist/core/http/index.js +0 -5
- package/dist/core/http/index.js.map +0 -1
- package/dist/core/http/mock-fetch.d.ts +0 -88
- package/dist/core/http/mock-fetch.d.ts.map +0 -1
- package/dist/core/http/mock-fetch.js +0 -111
- package/dist/core/http/mock-fetch.js.map +0 -1
- package/dist/core/http/test-http-client.d.ts +0 -54
- package/dist/core/http/test-http-client.d.ts.map +0 -1
- package/dist/core/http/test-http-client.js +0 -75
- package/dist/core/http/test-http-client.js.map +0 -1
- package/dist/core/http/test-http-request.d.ts +0 -60
- package/dist/core/http/test-http-request.d.ts.map +0 -1
- package/dist/core/http/test-http-request.js +0 -106
- package/dist/core/http/test-http-request.js.map +0 -1
- package/dist/core/http/test-response.d.ts +0 -161
- package/dist/core/http/test-response.d.ts.map +0 -1
- package/dist/core/http/test-response.js +0 -309
- package/dist/core/http/test-response.js.map +0 -1
- package/dist/core/index.d.ts +0 -7
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -7
- package/dist/core/index.js.map +0 -1
- package/dist/core/override/index.d.ts +0 -2
- package/dist/core/override/index.d.ts.map +0 -1
- package/dist/core/override/index.js +0 -2
- package/dist/core/override/index.js.map +0 -1
- package/dist/core/override/provider-override-builder.d.ts +0 -78
- package/dist/core/override/provider-override-builder.d.ts.map +0 -1
- package/dist/core/override/provider-override-builder.js +0 -94
- package/dist/core/override/provider-override-builder.js.map +0 -1
- package/dist/core/test.d.ts +0 -48
- package/dist/core/test.d.ts.map +0 -1
- package/dist/core/test.js +0 -53
- package/dist/core/test.js.map +0 -1
- package/dist/core/testing-module-builder.d.ts +0 -57
- package/dist/core/testing-module-builder.d.ts.map +0 -1
- package/dist/core/testing-module-builder.js +0 -109
- package/dist/core/testing-module-builder.js.map +0 -1
- package/dist/core/testing-module.d.ts +0 -103
- package/dist/core/testing-module.d.ts.map +0 -1
- package/dist/core/testing-module.js +0 -165
- package/dist/core/testing-module.js.map +0 -1
- package/dist/errors/index.d.ts +0 -3
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -3
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/setup-error.d.ts +0 -9
- package/dist/errors/setup-error.d.ts.map +0 -1
- package/dist/errors/setup-error.js +0 -11
- package/dist/errors/setup-error.js.map +0 -1
- package/dist/errors/test-error.d.ts +0 -9
- package/dist/errors/test-error.d.ts.map +0 -1
- package/dist/errors/test-error.js +0 -15
- package/dist/errors/test-error.js.map +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -23
- package/dist/index.js.map +0 -1
- package/dist/mocks/index.d.ts +0 -3
- package/dist/mocks/index.d.ts.map +0 -1
- package/dist/mocks/index.js +0 -3
- package/dist/mocks/index.js.map +0 -1
- package/dist/mocks/nodemailer.d.ts +0 -10
- package/dist/mocks/nodemailer.d.ts.map +0 -1
- package/dist/mocks/nodemailer.js +0 -9
- package/dist/mocks/nodemailer.js.map +0 -1
- package/dist/mocks/zenstack-language.d.ts +0 -46
- package/dist/mocks/zenstack-language.d.ts.map +0 -1
- package/dist/mocks/zenstack-language.js +0 -47
- package/dist/mocks/zenstack-language.js.map +0 -1
- package/dist/storage/fake-storage.service.d.ts +0 -114
- package/dist/storage/fake-storage.service.d.ts.map +0 -1
- package/dist/storage/fake-storage.service.js +0 -233
- package/dist/storage/fake-storage.service.js.map +0 -1
- package/dist/storage/index.d.ts +0 -2
- package/dist/storage/index.d.ts.map +0 -1
- package/dist/storage/index.js +0 -2
- package/dist/storage/index.js.map +0 -1
- package/dist/types.d.ts +0 -5
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/vitest-plugin/index.d.ts +0 -2
- package/dist/vitest-plugin/index.d.ts.map +0 -1
- package/dist/vitest-plugin/index.js +0 -2
- package/dist/vitest-plugin/index.js.map +0 -1
- package/dist/vitest-plugin/stratal-test.d.ts +0 -28
- package/dist/vitest-plugin/stratal-test.d.ts.map +0 -1
- package/dist/vitest-plugin/stratal-test.js +0 -47
- package/dist/vitest-plugin/stratal-test.js.map +0 -1
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { type Container } from 'stratal/di';
|
|
2
|
-
import { type InjectionToken } from 'stratal/module';
|
|
3
|
-
import type { TestingModuleBuilder } from '../testing-module-builder';
|
|
4
|
-
/**
|
|
5
|
-
* Provider override configuration
|
|
6
|
-
*/
|
|
7
|
-
export interface ProviderOverrideConfig<T = unknown> {
|
|
8
|
-
token: InjectionToken<T>;
|
|
9
|
-
type: 'value' | 'class' | 'factory' | 'existing';
|
|
10
|
-
implementation: T | (new (...args: unknown[]) => T) | ((container: Container) => T) | InjectionToken<T>;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Fluent builder for provider overrides
|
|
14
|
-
*
|
|
15
|
-
* Provides a NestJS-style API for overriding providers in tests.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* const module = await Test.createTestingModule({
|
|
20
|
-
* imports: [RegistrationModule],
|
|
21
|
-
* })
|
|
22
|
-
* .overrideProvider(EMAIL_TOKENS.EmailService)
|
|
23
|
-
* .useValue(mockEmailService)
|
|
24
|
-
* .compile()
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export declare class ProviderOverrideBuilder<T> {
|
|
28
|
-
private readonly parent;
|
|
29
|
-
private readonly token;
|
|
30
|
-
constructor(parent: TestingModuleBuilder, token: InjectionToken<T>);
|
|
31
|
-
/**
|
|
32
|
-
* Use a static value as the provider
|
|
33
|
-
*
|
|
34
|
-
* The value will be registered directly in the container.
|
|
35
|
-
*
|
|
36
|
-
* @param value - The value to use as the provider
|
|
37
|
-
* @returns The parent TestingModuleBuilder for chaining
|
|
38
|
-
*/
|
|
39
|
-
useValue(value: T): TestingModuleBuilder;
|
|
40
|
-
/**
|
|
41
|
-
* Use a class as the provider
|
|
42
|
-
*
|
|
43
|
-
* The class will be registered as a singleton.
|
|
44
|
-
*
|
|
45
|
-
* @param cls - The class constructor to use as the provider
|
|
46
|
-
* @returns The parent TestingModuleBuilder for chaining
|
|
47
|
-
*/
|
|
48
|
-
useClass(cls: new (...args: unknown[]) => T): TestingModuleBuilder;
|
|
49
|
-
/**
|
|
50
|
-
* Use a factory function as the provider
|
|
51
|
-
*
|
|
52
|
-
* The factory receives the container and should return the provider instance.
|
|
53
|
-
*
|
|
54
|
-
* @param factory - Factory function that creates the provider
|
|
55
|
-
* @returns The parent TestingModuleBuilder for chaining
|
|
56
|
-
*/
|
|
57
|
-
useFactory(factory: (container: Container) => T): TestingModuleBuilder;
|
|
58
|
-
/**
|
|
59
|
-
* Use an existing token as the provider (alias)
|
|
60
|
-
*
|
|
61
|
-
* The override token will resolve to the same instance as the target token.
|
|
62
|
-
*
|
|
63
|
-
* @param existingToken - The token to alias
|
|
64
|
-
* @returns The parent TestingModuleBuilder for chaining
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```typescript
|
|
68
|
-
* const module = await Test.createTestingModule({
|
|
69
|
-
* imports: [MyModule],
|
|
70
|
-
* })
|
|
71
|
-
* .overrideProvider(ABSTRACT_TOKEN)
|
|
72
|
-
* .useExisting(ConcreteService)
|
|
73
|
-
* .compile()
|
|
74
|
-
* ```
|
|
75
|
-
*/
|
|
76
|
-
useExisting(existingToken: InjectionToken<T>): TestingModuleBuilder;
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=provider-override-builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-override-builder.d.ts","sourceRoot":"","sources":["../../../src/core/override/provider-override-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAErE;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,CAAC,GAAG,OAAO;IACjD,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAA;IACxB,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,CAAA;IAChD,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAA;CACxG;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,uBAAuB,CAAC,CAAC;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;IAG3C;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,oBAAoB;IAQxC;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,oBAAoB;IAQlE;;;;;;;OAOG;IACH,UAAU,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,GAAG,oBAAoB;IAQtE;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,oBAAoB;CAOpE"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fluent builder for provider overrides
|
|
3
|
-
*
|
|
4
|
-
* Provides a NestJS-style API for overriding providers in tests.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* const module = await Test.createTestingModule({
|
|
9
|
-
* imports: [RegistrationModule],
|
|
10
|
-
* })
|
|
11
|
-
* .overrideProvider(EMAIL_TOKENS.EmailService)
|
|
12
|
-
* .useValue(mockEmailService)
|
|
13
|
-
* .compile()
|
|
14
|
-
* ```
|
|
15
|
-
*/
|
|
16
|
-
export class ProviderOverrideBuilder {
|
|
17
|
-
parent;
|
|
18
|
-
token;
|
|
19
|
-
constructor(parent, token) {
|
|
20
|
-
this.parent = parent;
|
|
21
|
-
this.token = token;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Use a static value as the provider
|
|
25
|
-
*
|
|
26
|
-
* The value will be registered directly in the container.
|
|
27
|
-
*
|
|
28
|
-
* @param value - The value to use as the provider
|
|
29
|
-
* @returns The parent TestingModuleBuilder for chaining
|
|
30
|
-
*/
|
|
31
|
-
useValue(value) {
|
|
32
|
-
return this.parent.addProviderOverride({
|
|
33
|
-
token: this.token,
|
|
34
|
-
type: 'value',
|
|
35
|
-
implementation: value,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Use a class as the provider
|
|
40
|
-
*
|
|
41
|
-
* The class will be registered as a singleton.
|
|
42
|
-
*
|
|
43
|
-
* @param cls - The class constructor to use as the provider
|
|
44
|
-
* @returns The parent TestingModuleBuilder for chaining
|
|
45
|
-
*/
|
|
46
|
-
useClass(cls) {
|
|
47
|
-
return this.parent.addProviderOverride({
|
|
48
|
-
token: this.token,
|
|
49
|
-
type: 'class',
|
|
50
|
-
implementation: cls,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Use a factory function as the provider
|
|
55
|
-
*
|
|
56
|
-
* The factory receives the container and should return the provider instance.
|
|
57
|
-
*
|
|
58
|
-
* @param factory - Factory function that creates the provider
|
|
59
|
-
* @returns The parent TestingModuleBuilder for chaining
|
|
60
|
-
*/
|
|
61
|
-
useFactory(factory) {
|
|
62
|
-
return this.parent.addProviderOverride({
|
|
63
|
-
token: this.token,
|
|
64
|
-
type: 'factory',
|
|
65
|
-
implementation: factory,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Use an existing token as the provider (alias)
|
|
70
|
-
*
|
|
71
|
-
* The override token will resolve to the same instance as the target token.
|
|
72
|
-
*
|
|
73
|
-
* @param existingToken - The token to alias
|
|
74
|
-
* @returns The parent TestingModuleBuilder for chaining
|
|
75
|
-
*
|
|
76
|
-
* @example
|
|
77
|
-
* ```typescript
|
|
78
|
-
* const module = await Test.createTestingModule({
|
|
79
|
-
* imports: [MyModule],
|
|
80
|
-
* })
|
|
81
|
-
* .overrideProvider(ABSTRACT_TOKEN)
|
|
82
|
-
* .useExisting(ConcreteService)
|
|
83
|
-
* .compile()
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
useExisting(existingToken) {
|
|
87
|
-
return this.parent.addProviderOverride({
|
|
88
|
-
token: this.token,
|
|
89
|
-
type: 'existing',
|
|
90
|
-
implementation: existingToken,
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=provider-override-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider-override-builder.js","sourceRoot":"","sources":["../../../src/core/override/provider-override-builder.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,uBAAuB;IAEf;IACA;IAFnB,YACmB,MAA4B,EAC5B,KAAwB;QADxB,WAAM,GAAN,MAAM,CAAsB;QAC5B,UAAK,GAAL,KAAK,CAAmB;IACvC,CAAC;IAEL;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,OAAO;YACb,cAAc,EAAE,KAAK;SACtB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAkC;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,OAAO;YACb,cAAc,EAAE,GAAG;SACpB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,OAAoC;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,SAAS;YACf,cAAc,EAAE,OAAO;SACxB,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,WAAW,CAAC,aAAgC;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,UAAU;YAChB,cAAc,EAAE,aAAa;SAC9B,CAAC,CAAA;IACJ,CAAC;CACF"}
|
package/dist/core/test.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { type DynamicModule, type ModuleClass } from 'stratal/module';
|
|
2
|
-
import { TestingModuleBuilder, type TestingModuleConfig } from './testing-module-builder';
|
|
3
|
-
/**
|
|
4
|
-
* Test
|
|
5
|
-
*
|
|
6
|
-
* Static class for creating testing modules.
|
|
7
|
-
* Provides a NestJS-style API for configuring test modules.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* // In vitest.setup.ts:
|
|
12
|
-
* Test.setBaseModules([CoreModule])
|
|
13
|
-
*
|
|
14
|
-
* // In test files:
|
|
15
|
-
* const module = await Test.createTestingModule({
|
|
16
|
-
* imports: [RegistrationModule, GeoModule],
|
|
17
|
-
* })
|
|
18
|
-
* .overrideProvider(EMAIL_TOKENS.EmailService)
|
|
19
|
-
* .useValue(mockEmailService)
|
|
20
|
-
* .compile()
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export declare class Test {
|
|
24
|
-
/**
|
|
25
|
-
* Base modules to include in all test modules
|
|
26
|
-
* Set once in vitest.setup.ts
|
|
27
|
-
*/
|
|
28
|
-
private static baseModules;
|
|
29
|
-
/**
|
|
30
|
-
* Set base modules to include in all test modules
|
|
31
|
-
* Should be called once in vitest.setup.ts
|
|
32
|
-
*
|
|
33
|
-
* @param modules - Modules to include before test-specific modules (e.g., CoreModule)
|
|
34
|
-
*/
|
|
35
|
-
static setBaseModules(modules: (ModuleClass | DynamicModule)[]): void;
|
|
36
|
-
/**
|
|
37
|
-
* Get base modules
|
|
38
|
-
*/
|
|
39
|
-
static getBaseModules(): (ModuleClass | DynamicModule)[];
|
|
40
|
-
/**
|
|
41
|
-
* Create a testing module builder
|
|
42
|
-
*
|
|
43
|
-
* @param config - Configuration with modules and optional env overrides
|
|
44
|
-
* @returns TestingModuleBuilder for configuring and compiling the module
|
|
45
|
-
*/
|
|
46
|
-
static createTestingModule(config: TestingModuleConfig): TestingModuleBuilder;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=test.d.ts.map
|
package/dist/core/test.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/core/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEzF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,IAAI;IACf;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW,CAAsC;IAEhE;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,WAAW,GAAG,aAAa,CAAC,EAAE,GAAG,IAAI;IAIrE;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,EAAE;IAIxD;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,oBAAoB;CAG9E"}
|
package/dist/core/test.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { TestingModuleBuilder } from './testing-module-builder';
|
|
2
|
-
/**
|
|
3
|
-
* Test
|
|
4
|
-
*
|
|
5
|
-
* Static class for creating testing modules.
|
|
6
|
-
* Provides a NestJS-style API for configuring test modules.
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* // In vitest.setup.ts:
|
|
11
|
-
* Test.setBaseModules([CoreModule])
|
|
12
|
-
*
|
|
13
|
-
* // In test files:
|
|
14
|
-
* const module = await Test.createTestingModule({
|
|
15
|
-
* imports: [RegistrationModule, GeoModule],
|
|
16
|
-
* })
|
|
17
|
-
* .overrideProvider(EMAIL_TOKENS.EmailService)
|
|
18
|
-
* .useValue(mockEmailService)
|
|
19
|
-
* .compile()
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
export class Test {
|
|
23
|
-
/**
|
|
24
|
-
* Base modules to include in all test modules
|
|
25
|
-
* Set once in vitest.setup.ts
|
|
26
|
-
*/
|
|
27
|
-
static baseModules = [];
|
|
28
|
-
/**
|
|
29
|
-
* Set base modules to include in all test modules
|
|
30
|
-
* Should be called once in vitest.setup.ts
|
|
31
|
-
*
|
|
32
|
-
* @param modules - Modules to include before test-specific modules (e.g., CoreModule)
|
|
33
|
-
*/
|
|
34
|
-
static setBaseModules(modules) {
|
|
35
|
-
this.baseModules = modules;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Get base modules
|
|
39
|
-
*/
|
|
40
|
-
static getBaseModules() {
|
|
41
|
-
return this.baseModules;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Create a testing module builder
|
|
45
|
-
*
|
|
46
|
-
* @param config - Configuration with modules and optional env overrides
|
|
47
|
-
* @returns TestingModuleBuilder for configuring and compiling the module
|
|
48
|
-
*/
|
|
49
|
-
static createTestingModule(config) {
|
|
50
|
-
return new TestingModuleBuilder(config);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=test.js.map
|
package/dist/core/test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/core/test.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAA4B,MAAM,0BAA0B,CAAA;AAEzF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,IAAI;IACf;;;OAGG;IACK,MAAM,CAAC,WAAW,GAAoC,EAAE,CAAA;IAEhE;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,OAAwC;QAC5D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAA2B;QACpD,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { ApplicationConfig, type StratalEnv } from 'stratal';
|
|
2
|
-
import { InjectionToken, ModuleOptions } from 'stratal/module';
|
|
3
|
-
import { ProviderOverrideBuilder, type ProviderOverrideConfig } from './override';
|
|
4
|
-
import { TestingModule } from './testing-module';
|
|
5
|
-
/**
|
|
6
|
-
* Configuration for creating a testing module
|
|
7
|
-
*
|
|
8
|
-
* Extends ModuleOptions to support all module properties like NestJS.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* const module = await Test.createTestingModule({
|
|
13
|
-
* imports: [RegistrationModule, GeoModule],
|
|
14
|
-
* providers: [{ provide: MOCK_TOKEN, useValue: mockValue }],
|
|
15
|
-
* controllers: [TestController],
|
|
16
|
-
* }).compile()
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export interface TestingModuleConfig extends ModuleOptions {
|
|
20
|
-
/** Optional environment overrides */
|
|
21
|
-
env?: Partial<StratalEnv>;
|
|
22
|
-
/** Logging configuration. Defaults: level=ERROR, formatter='json' */
|
|
23
|
-
logging?: ApplicationConfig['logging'];
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Builder for creating test modules with provider overrides
|
|
27
|
-
*/
|
|
28
|
-
export declare class TestingModuleBuilder {
|
|
29
|
-
private config;
|
|
30
|
-
private overrides;
|
|
31
|
-
constructor(config: TestingModuleConfig);
|
|
32
|
-
/**
|
|
33
|
-
* Override a provider with a custom implementation
|
|
34
|
-
*/
|
|
35
|
-
overrideProvider<T>(token: InjectionToken<T>): ProviderOverrideBuilder<T>;
|
|
36
|
-
/**
|
|
37
|
-
* Add a provider override (internal use by ProviderOverrideBuilder)
|
|
38
|
-
*
|
|
39
|
-
* @internal
|
|
40
|
-
*/
|
|
41
|
-
addProviderOverride<T>(override: ProviderOverrideConfig<T>): this;
|
|
42
|
-
/**
|
|
43
|
-
* Merge additional environment bindings
|
|
44
|
-
*/
|
|
45
|
-
withEnv(env: Partial<StratalEnv>): this;
|
|
46
|
-
/**
|
|
47
|
-
* Compile the testing module
|
|
48
|
-
*
|
|
49
|
-
* Creates the Application, applies overrides, initializes, and returns TestingModule.
|
|
50
|
-
*/
|
|
51
|
-
compile(): Promise<TestingModule>;
|
|
52
|
-
/**
|
|
53
|
-
* Create a test root module with the given options
|
|
54
|
-
*/
|
|
55
|
-
private createTestRootModule;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=testing-module-builder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing-module-builder.d.ts","sourceRoot":"","sources":["../../src/core/testing-module-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,EAEjB,KAAK,UAAU,EAChB,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,cAAc,EAAuB,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAInF,OAAO,EAAE,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAEjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACxD,qCAAqC;IACrC,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IACzB,qEAAqE;IACrE,OAAO,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAA;CACvC;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAGnB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,SAAS,CAAuC;gBAEpC,MAAM,EAAE,mBAAmB;IAE/C;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,uBAAuB,CAAC,CAAC,CAAC;IAIzE;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,IAAI;IAKjE;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAKvC;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IA6DvC;;OAEG;IACH,OAAO,CAAC,oBAAoB;CAK7B"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { waitUntil } from 'cloudflare:workers';
|
|
8
|
-
import { Application, } from 'stratal';
|
|
9
|
-
import { LogLevel } from 'stratal/logger';
|
|
10
|
-
import { Module } from 'stratal/module';
|
|
11
|
-
import { STORAGE_TOKENS } from 'stratal/storage';
|
|
12
|
-
import { FakeStorageService } from '../storage';
|
|
13
|
-
import { getTestEnv } from './env';
|
|
14
|
-
import { ProviderOverrideBuilder } from './override';
|
|
15
|
-
import { Test } from './test';
|
|
16
|
-
import { TestingModule } from './testing-module';
|
|
17
|
-
/**
|
|
18
|
-
* Builder for creating test modules with provider overrides
|
|
19
|
-
*/
|
|
20
|
-
export class TestingModuleBuilder {
|
|
21
|
-
config;
|
|
22
|
-
overrides = [];
|
|
23
|
-
constructor(config) {
|
|
24
|
-
this.config = config;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Override a provider with a custom implementation
|
|
28
|
-
*/
|
|
29
|
-
overrideProvider(token) {
|
|
30
|
-
return new ProviderOverrideBuilder(this, token);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Add a provider override (internal use by ProviderOverrideBuilder)
|
|
34
|
-
*
|
|
35
|
-
* @internal
|
|
36
|
-
*/
|
|
37
|
-
addProviderOverride(override) {
|
|
38
|
-
this.overrides.push(override);
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Merge additional environment bindings
|
|
43
|
-
*/
|
|
44
|
-
withEnv(env) {
|
|
45
|
-
this.config.env = { ...this.config.env, ...env };
|
|
46
|
-
return this;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Compile the testing module
|
|
50
|
-
*
|
|
51
|
-
* Creates the Application, applies overrides, initializes, and returns TestingModule.
|
|
52
|
-
*/
|
|
53
|
-
async compile() {
|
|
54
|
-
const env = getTestEnv(this.config.env);
|
|
55
|
-
const ctx = { waitUntil };
|
|
56
|
-
// Build root module from config
|
|
57
|
-
const baseModules = Test.getBaseModules();
|
|
58
|
-
const allImports = [...baseModules, ...(this.config.imports ?? [])];
|
|
59
|
-
const rootModule = this.createTestRootModule({
|
|
60
|
-
imports: allImports,
|
|
61
|
-
providers: this.config.providers,
|
|
62
|
-
controllers: this.config.controllers,
|
|
63
|
-
consumers: this.config.consumers,
|
|
64
|
-
jobs: this.config.jobs,
|
|
65
|
-
});
|
|
66
|
-
const app = new Application({
|
|
67
|
-
module: rootModule,
|
|
68
|
-
logging: {
|
|
69
|
-
level: this.config.logging?.level ?? LogLevel.ERROR,
|
|
70
|
-
formatter: this.config.logging?.formatter ?? 'pretty',
|
|
71
|
-
},
|
|
72
|
-
env,
|
|
73
|
-
ctx,
|
|
74
|
-
});
|
|
75
|
-
// Auto-register FakeStorageService (can be overridden by user)
|
|
76
|
-
app.container.registerSingleton(STORAGE_TOKENS.StorageService, FakeStorageService);
|
|
77
|
-
// Apply user overrides BEFORE initialize
|
|
78
|
-
for (const override of this.overrides) {
|
|
79
|
-
switch (override.type) {
|
|
80
|
-
case 'value':
|
|
81
|
-
app.container.registerValue(override.token, override.implementation);
|
|
82
|
-
break;
|
|
83
|
-
case 'class':
|
|
84
|
-
app.container.registerSingleton(override.token, override.implementation);
|
|
85
|
-
break;
|
|
86
|
-
case 'factory':
|
|
87
|
-
app.container.registerFactory(override.token, override.implementation);
|
|
88
|
-
break;
|
|
89
|
-
case 'existing':
|
|
90
|
-
app.container.registerExisting(override.token, override.implementation);
|
|
91
|
-
break;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
await app.initialize();
|
|
95
|
-
return new TestingModule(app, env, ctx);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Create a test root module with the given options
|
|
99
|
-
*/
|
|
100
|
-
createTestRootModule(options) {
|
|
101
|
-
let TestRootModule = class TestRootModule {
|
|
102
|
-
};
|
|
103
|
-
TestRootModule = __decorate([
|
|
104
|
-
Module(options)
|
|
105
|
-
], TestRootModule);
|
|
106
|
-
return TestRootModule;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=testing-module-builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing-module-builder.js","sourceRoot":"","sources":["../../src/core/testing-module-builder.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EACL,WAAW,GAIZ,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAkB,MAAM,EAA8B,MAAM,gBAAgB,CAAA;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,uBAAuB,EAA+B,MAAM,YAAY,CAAA;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAuBhD;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAGX;IAFZ,SAAS,GAAqC,EAAE,CAAA;IAExD,YAAoB,MAA2B;QAA3B,WAAM,GAAN,MAAM,CAAqB;IAAI,CAAC;IAEpD;;OAEG;IACH,gBAAgB,CAAI,KAAwB;QAC1C,OAAO,IAAI,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACjD,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAI,QAAmC;QACxD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAA0C,CAAC,CAAA;QAC/D,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAwB;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAA;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACvC,MAAM,GAAG,GAAG,EAAE,SAAS,EAAsB,CAAA;QAE7C,gCAAgC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACzC,MAAM,UAAU,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAA;QAEnE,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC3C,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACpC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;YAChC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;SACvB,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC;YAC1B,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,QAAQ,CAAC,KAAK;gBACnD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,IAAI,QAAQ;aACtD;YACD,GAAG;YACH,GAAG;SACJ,CAAC,CAAA;QAEF,+DAA+D;QAC/D,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;QAElF,yCAAyC;QACzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtB,KAAK,OAAO;oBACV,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;oBACpE,MAAK;gBACP,KAAK,OAAO;oBACV,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAC7B,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,cAA6B,CACvC,CAAA;oBACD,MAAK;gBACP,KAAK,SAAS;oBACZ,GAAG,CAAC,SAAS,CAAC,eAAe,CAC3B,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,cAA0C,CACpD,CAAA;oBACD,MAAK;gBACP,KAAK,UAAU;oBACb,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAC5B,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,cAAwC,CAClD,CAAA;oBACD,MAAK;YACT,CAAC;QACH,CAAC;QAED,MAAM,GAAG,CAAC,UAAU,EAAE,CAAA;QAEtB,OAAO,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IACzC,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAsB;QAEjD,IAAM,cAAc,GAApB,MAAM,cAAc;SAAI,CAAA;QAAlB,cAAc;YADnB,MAAM,CAAC,OAAO,CAAC;WACV,cAAc,CAAI;QACxB,OAAO,cAAc,CAAA;IACvB,CAAC;CACF"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import type { ConnectionName, DatabaseService } from '@stratal/framework/database';
|
|
2
|
-
import type { Application, StratalEnv } from 'stratal';
|
|
3
|
-
import { type Container } from 'stratal/di';
|
|
4
|
-
import { type InjectionToken } from 'stratal/module';
|
|
5
|
-
import type { FakeStorageService } from '../storage';
|
|
6
|
-
import type { Seeder } from '../types';
|
|
7
|
-
import { TestHttpClient } from './http/test-http-client';
|
|
8
|
-
/**
|
|
9
|
-
* TestingModule
|
|
10
|
-
*
|
|
11
|
-
* Provides access to the test application, container, HTTP client, and utilities.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* const module = await Test.createTestingModule({
|
|
16
|
-
* modules: [RegistrationModule],
|
|
17
|
-
* }).compile()
|
|
18
|
-
*
|
|
19
|
-
* // Make HTTP requests
|
|
20
|
-
* const response = await module.http
|
|
21
|
-
* .post('/api/v1/register')
|
|
22
|
-
* .withBody({ ... })
|
|
23
|
-
* .send()
|
|
24
|
-
*
|
|
25
|
-
* // Access services
|
|
26
|
-
* const service = module.get(REGISTRATION_TOKENS.RegistrationService)
|
|
27
|
-
*
|
|
28
|
-
* // Database utilities
|
|
29
|
-
* await module.truncateDb()
|
|
30
|
-
* await module.seed(new UserSeeder())
|
|
31
|
-
* await module.assertDatabaseHas('user', { email: 'test@example.com' })
|
|
32
|
-
*
|
|
33
|
-
* // Cleanup
|
|
34
|
-
* await module.close()
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export declare class TestingModule {
|
|
38
|
-
private readonly app;
|
|
39
|
-
private readonly env;
|
|
40
|
-
private readonly ctx;
|
|
41
|
-
private _http;
|
|
42
|
-
private readonly _requestContainer;
|
|
43
|
-
constructor(app: Application, env: StratalEnv, ctx: ExecutionContext);
|
|
44
|
-
/**
|
|
45
|
-
* Resolve a service from the container
|
|
46
|
-
*/
|
|
47
|
-
get<T>(token: InjectionToken<T>): T;
|
|
48
|
-
/**
|
|
49
|
-
* Get HTTP test client for making requests
|
|
50
|
-
*/
|
|
51
|
-
get http(): TestHttpClient;
|
|
52
|
-
/**
|
|
53
|
-
* Get fake storage service for assertions
|
|
54
|
-
*/
|
|
55
|
-
get storage(): FakeStorageService;
|
|
56
|
-
/**
|
|
57
|
-
* Get Application instance
|
|
58
|
-
*/
|
|
59
|
-
get application(): Application;
|
|
60
|
-
/**
|
|
61
|
-
* Get DI Container (request-scoped)
|
|
62
|
-
*/
|
|
63
|
-
get container(): Container;
|
|
64
|
-
/**
|
|
65
|
-
* Execute an HTTP request through HonoApp
|
|
66
|
-
*/
|
|
67
|
-
fetch(request: Request): Promise<Response>;
|
|
68
|
-
/**
|
|
69
|
-
* Run callback in request scope (for DB operations, service access)
|
|
70
|
-
*/
|
|
71
|
-
runInRequestScope<T>(callback: (container: Container) => T | Promise<T>): Promise<T>;
|
|
72
|
-
/**
|
|
73
|
-
* Get database service instance (resolved in request scope)
|
|
74
|
-
*/
|
|
75
|
-
getDb(): DatabaseService;
|
|
76
|
-
getDb<K extends ConnectionName>(name: K): DatabaseService<K>;
|
|
77
|
-
/**
|
|
78
|
-
* Truncate all non-prisma tables in the database
|
|
79
|
-
*/
|
|
80
|
-
truncateDb(name?: ConnectionName): Promise<void>;
|
|
81
|
-
/**
|
|
82
|
-
* Run seeders in a database transaction
|
|
83
|
-
*/
|
|
84
|
-
seed(...seeders: Seeder[]): Promise<void>;
|
|
85
|
-
seed(name: ConnectionName, ...seeders: Seeder[]): Promise<void>;
|
|
86
|
-
/**
|
|
87
|
-
* Assert that a record exists in the database
|
|
88
|
-
*/
|
|
89
|
-
assertDatabaseHas(table: string, data: Record<string, unknown>, name?: ConnectionName): Promise<void>;
|
|
90
|
-
/**
|
|
91
|
-
* Assert that a record does not exist in the database
|
|
92
|
-
*/
|
|
93
|
-
assertDatabaseMissing(table: string, data: Record<string, unknown>, name?: ConnectionName): Promise<void>;
|
|
94
|
-
/**
|
|
95
|
-
* Assert the number of records in a table
|
|
96
|
-
*/
|
|
97
|
-
assertDatabaseCount(table: string, expected: number, name?: ConnectionName): Promise<void>;
|
|
98
|
-
/**
|
|
99
|
-
* Cleanup - call in afterAll
|
|
100
|
-
*/
|
|
101
|
-
close(): Promise<void>;
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=testing-module.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"testing-module.d.ts","sourceRoot":"","sources":["../../src/core/testing-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAElF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,YAAY,CAAA;AACtD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAW;gBAG1B,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,gBAAgB;IAMxC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;IAInC;;OAEG;IACH,IAAI,IAAI,IAAI,cAAc,CAGzB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,kBAAkB,CAEhC;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIhD;;OAEG;IACG,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAK1F;;OAEG;IACH,KAAK,IAAI,eAAe;IACxB,KAAK,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IAM5D;;OAEG;IACG,UAAU,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD;;OAEG;IACG,IAAI,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IACzC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBrE;;OAEG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3G;;OAEG;IACG,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/G;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhG;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|