@stratal/testing 0.0.13 → 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.
Files changed (155) hide show
  1. package/dist/index.d.mts +1070 -0
  2. package/dist/index.d.mts.map +1 -0
  3. package/dist/index.mjs +1689 -0
  4. package/dist/index.mjs.map +1 -0
  5. package/dist/mocks/index.d.mts +2 -0
  6. package/dist/mocks/index.mjs +2 -0
  7. package/dist/mocks/nodemailer.d.mts +12 -0
  8. package/dist/mocks/nodemailer.d.mts.map +1 -0
  9. package/dist/mocks/nodemailer.mjs +7 -0
  10. package/dist/mocks/nodemailer.mjs.map +1 -0
  11. package/dist/mocks/zenstack-language.d.mts +48 -0
  12. package/dist/mocks/zenstack-language.d.mts.map +1 -0
  13. package/dist/mocks/zenstack-language.mjs +48 -0
  14. package/dist/mocks/zenstack-language.mjs.map +1 -0
  15. package/dist/vitest-plugin/index.d.mts +50 -0
  16. package/dist/vitest-plugin/index.d.mts.map +1 -0
  17. package/dist/vitest-plugin/index.mjs +86 -0
  18. package/dist/vitest-plugin/index.mjs.map +1 -0
  19. package/package.json +21 -19
  20. package/dist/auth/acting-as.d.ts +0 -21
  21. package/dist/auth/acting-as.d.ts.map +0 -1
  22. package/dist/auth/acting-as.js +0 -68
  23. package/dist/auth/acting-as.js.map +0 -1
  24. package/dist/auth/index.d.ts +0 -2
  25. package/dist/auth/index.d.ts.map +0 -1
  26. package/dist/auth/index.js +0 -2
  27. package/dist/auth/index.js.map +0 -1
  28. package/dist/core/env/index.d.ts +0 -2
  29. package/dist/core/env/index.d.ts.map +0 -1
  30. package/dist/core/env/index.js +0 -2
  31. package/dist/core/env/index.js.map +0 -1
  32. package/dist/core/env/test-env.d.ts +0 -9
  33. package/dist/core/env/test-env.d.ts.map +0 -1
  34. package/dist/core/env/test-env.js +0 -14
  35. package/dist/core/env/test-env.js.map +0 -1
  36. package/dist/core/http/fetch-mock.types.d.ts +0 -48
  37. package/dist/core/http/fetch-mock.types.d.ts.map +0 -1
  38. package/dist/core/http/fetch-mock.types.js +0 -2
  39. package/dist/core/http/fetch-mock.types.js.map +0 -1
  40. package/dist/core/http/index.d.ts +0 -6
  41. package/dist/core/http/index.d.ts.map +0 -1
  42. package/dist/core/http/index.js +0 -5
  43. package/dist/core/http/index.js.map +0 -1
  44. package/dist/core/http/mock-fetch.d.ts +0 -88
  45. package/dist/core/http/mock-fetch.d.ts.map +0 -1
  46. package/dist/core/http/mock-fetch.js +0 -111
  47. package/dist/core/http/mock-fetch.js.map +0 -1
  48. package/dist/core/http/test-http-client.d.ts +0 -54
  49. package/dist/core/http/test-http-client.d.ts.map +0 -1
  50. package/dist/core/http/test-http-client.js +0 -75
  51. package/dist/core/http/test-http-client.js.map +0 -1
  52. package/dist/core/http/test-http-request.d.ts +0 -60
  53. package/dist/core/http/test-http-request.d.ts.map +0 -1
  54. package/dist/core/http/test-http-request.js +0 -106
  55. package/dist/core/http/test-http-request.js.map +0 -1
  56. package/dist/core/http/test-response.d.ts +0 -161
  57. package/dist/core/http/test-response.d.ts.map +0 -1
  58. package/dist/core/http/test-response.js +0 -309
  59. package/dist/core/http/test-response.js.map +0 -1
  60. package/dist/core/index.d.ts +0 -7
  61. package/dist/core/index.d.ts.map +0 -1
  62. package/dist/core/index.js +0 -7
  63. package/dist/core/index.js.map +0 -1
  64. package/dist/core/override/index.d.ts +0 -2
  65. package/dist/core/override/index.d.ts.map +0 -1
  66. package/dist/core/override/index.js +0 -2
  67. package/dist/core/override/index.js.map +0 -1
  68. package/dist/core/override/provider-override-builder.d.ts +0 -78
  69. package/dist/core/override/provider-override-builder.d.ts.map +0 -1
  70. package/dist/core/override/provider-override-builder.js +0 -94
  71. package/dist/core/override/provider-override-builder.js.map +0 -1
  72. package/dist/core/sse/index.d.ts +0 -3
  73. package/dist/core/sse/index.d.ts.map +0 -1
  74. package/dist/core/sse/index.js +0 -3
  75. package/dist/core/sse/index.js.map +0 -1
  76. package/dist/core/sse/test-sse-connection.d.ts +0 -61
  77. package/dist/core/sse/test-sse-connection.d.ts.map +0 -1
  78. package/dist/core/sse/test-sse-connection.js +0 -233
  79. package/dist/core/sse/test-sse-connection.js.map +0 -1
  80. package/dist/core/sse/test-sse-request.d.ts +0 -42
  81. package/dist/core/sse/test-sse-request.d.ts.map +0 -1
  82. package/dist/core/sse/test-sse-request.js +0 -76
  83. package/dist/core/sse/test-sse-request.js.map +0 -1
  84. package/dist/core/test.d.ts +0 -48
  85. package/dist/core/test.d.ts.map +0 -1
  86. package/dist/core/test.js +0 -53
  87. package/dist/core/test.js.map +0 -1
  88. package/dist/core/testing-module-builder.d.ts +0 -57
  89. package/dist/core/testing-module-builder.d.ts.map +0 -1
  90. package/dist/core/testing-module-builder.js +0 -109
  91. package/dist/core/testing-module-builder.js.map +0 -1
  92. package/dist/core/testing-module.d.ts +0 -113
  93. package/dist/core/testing-module.d.ts.map +0 -1
  94. package/dist/core/testing-module.js +0 -177
  95. package/dist/core/testing-module.js.map +0 -1
  96. package/dist/core/ws/index.d.ts +0 -3
  97. package/dist/core/ws/index.d.ts.map +0 -1
  98. package/dist/core/ws/index.js +0 -3
  99. package/dist/core/ws/index.js.map +0 -1
  100. package/dist/core/ws/test-ws-connection.d.ts +0 -54
  101. package/dist/core/ws/test-ws-connection.d.ts.map +0 -1
  102. package/dist/core/ws/test-ws-connection.js +0 -119
  103. package/dist/core/ws/test-ws-connection.js.map +0 -1
  104. package/dist/core/ws/test-ws-request.d.ts +0 -43
  105. package/dist/core/ws/test-ws-request.d.ts.map +0 -1
  106. package/dist/core/ws/test-ws-request.js +0 -83
  107. package/dist/core/ws/test-ws-request.js.map +0 -1
  108. package/dist/errors/index.d.ts +0 -3
  109. package/dist/errors/index.d.ts.map +0 -1
  110. package/dist/errors/index.js +0 -3
  111. package/dist/errors/index.js.map +0 -1
  112. package/dist/errors/setup-error.d.ts +0 -9
  113. package/dist/errors/setup-error.d.ts.map +0 -1
  114. package/dist/errors/setup-error.js +0 -11
  115. package/dist/errors/setup-error.js.map +0 -1
  116. package/dist/errors/test-error.d.ts +0 -9
  117. package/dist/errors/test-error.d.ts.map +0 -1
  118. package/dist/errors/test-error.js +0 -15
  119. package/dist/errors/test-error.js.map +0 -1
  120. package/dist/index.d.ts +0 -21
  121. package/dist/index.d.ts.map +0 -1
  122. package/dist/index.js +0 -29
  123. package/dist/index.js.map +0 -1
  124. package/dist/mocks/index.d.ts +0 -3
  125. package/dist/mocks/index.d.ts.map +0 -1
  126. package/dist/mocks/index.js +0 -3
  127. package/dist/mocks/index.js.map +0 -1
  128. package/dist/mocks/nodemailer.d.ts +0 -10
  129. package/dist/mocks/nodemailer.d.ts.map +0 -1
  130. package/dist/mocks/nodemailer.js +0 -9
  131. package/dist/mocks/nodemailer.js.map +0 -1
  132. package/dist/mocks/zenstack-language.d.ts +0 -46
  133. package/dist/mocks/zenstack-language.d.ts.map +0 -1
  134. package/dist/mocks/zenstack-language.js +0 -47
  135. package/dist/mocks/zenstack-language.js.map +0 -1
  136. package/dist/storage/fake-storage.service.d.ts +0 -114
  137. package/dist/storage/fake-storage.service.d.ts.map +0 -1
  138. package/dist/storage/fake-storage.service.js +0 -233
  139. package/dist/storage/fake-storage.service.js.map +0 -1
  140. package/dist/storage/index.d.ts +0 -2
  141. package/dist/storage/index.d.ts.map +0 -1
  142. package/dist/storage/index.js +0 -2
  143. package/dist/storage/index.js.map +0 -1
  144. package/dist/types.d.ts +0 -5
  145. package/dist/types.d.ts.map +0 -1
  146. package/dist/types.js +0 -3
  147. package/dist/types.js.map +0 -1
  148. package/dist/vitest-plugin/index.d.ts +0 -2
  149. package/dist/vitest-plugin/index.d.ts.map +0 -1
  150. package/dist/vitest-plugin/index.js +0 -2
  151. package/dist/vitest-plugin/index.js.map +0 -1
  152. package/dist/vitest-plugin/stratal-test.d.ts +0 -28
  153. package/dist/vitest-plugin/stratal-test.d.ts.map +0 -1
  154. package/dist/vitest-plugin/stratal-test.js +0 -47
  155. package/dist/vitest-plugin/stratal-test.js.map +0 -1
@@ -1,119 +0,0 @@
1
- import { expect } from "vitest";
2
- /**
3
- * TestWsConnection
4
- *
5
- * Live WebSocket connection wrapper with assertion helpers for testing.
6
- *
7
- * @example
8
- * ```typescript
9
- * const ws = await module.ws('/ws/chat').connect()
10
- * ws.send('hello')
11
- * await ws.assertMessage('echo:hello')
12
- * ws.close()
13
- * await ws.waitForClose()
14
- * ```
15
- */
16
- export class TestWsConnection {
17
- ws;
18
- messageQueue = [];
19
- messageWaiters = [];
20
- closeEvent = null;
21
- closeWaiters = [];
22
- constructor(ws) {
23
- this.ws = ws;
24
- this.ws.addEventListener('message', (event) => {
25
- const data = event.data;
26
- if (this.messageWaiters.length > 0) {
27
- this.messageWaiters.shift()(data);
28
- }
29
- else {
30
- this.messageQueue.push(data);
31
- }
32
- });
33
- this.ws.addEventListener('close', (event) => {
34
- this.closeEvent = { code: event.code, reason: event.reason };
35
- for (const waiter of this.closeWaiters) {
36
- waiter(this.closeEvent);
37
- }
38
- this.closeWaiters = [];
39
- });
40
- }
41
- /**
42
- * Send a message through the WebSocket
43
- */
44
- send(data) {
45
- this.ws.send(data);
46
- }
47
- /**
48
- * Close the WebSocket connection
49
- */
50
- close(code, reason) {
51
- this.ws.close(code, reason);
52
- }
53
- /**
54
- * Wait for the next message, returning its data
55
- */
56
- async waitForMessage(timeout = 5000) {
57
- if (this.messageQueue.length > 0) {
58
- return this.messageQueue.shift();
59
- }
60
- return new Promise((resolve, reject) => {
61
- const waiter = (data) => {
62
- clearTimeout(timer);
63
- resolve(data);
64
- };
65
- const timer = setTimeout(() => {
66
- const index = this.messageWaiters.indexOf(waiter);
67
- if (index !== -1)
68
- this.messageWaiters.splice(index, 1);
69
- reject(new Error(`WebSocket: no message received within ${timeout}ms`));
70
- }, timeout);
71
- this.messageWaiters.push(waiter);
72
- });
73
- }
74
- /**
75
- * Wait for the connection to close
76
- */
77
- async waitForClose(timeout = 5000) {
78
- if (this.closeEvent) {
79
- return this.closeEvent;
80
- }
81
- return new Promise((resolve, reject) => {
82
- const waiter = (event) => {
83
- clearTimeout(timer);
84
- resolve(event);
85
- };
86
- const timer = setTimeout(() => {
87
- const index = this.closeWaiters.indexOf(waiter);
88
- if (index !== -1)
89
- this.closeWaiters.splice(index, 1);
90
- reject(new Error(`WebSocket: connection did not close within ${timeout}ms`));
91
- }, timeout);
92
- this.closeWaiters.push(waiter);
93
- });
94
- }
95
- /**
96
- * Assert that the next message equals the expected value
97
- */
98
- async assertMessage(expected, timeout = 5000) {
99
- const data = await this.waitForMessage(timeout);
100
- const message = typeof data === 'string' ? data : '[ArrayBuffer]';
101
- expect(message, `Expected WebSocket message "${expected}", got "${message}"`).toBe(expected);
102
- }
103
- /**
104
- * Assert that the connection closes, optionally with an expected code
105
- */
106
- async assertClosed(expectedCode, timeout = 5000) {
107
- const event = await this.waitForClose(timeout);
108
- if (expectedCode !== undefined) {
109
- expect(event.code, `Expected close code ${expectedCode}, got ${event.code}`).toBe(expectedCode);
110
- }
111
- }
112
- /**
113
- * Access the raw Cloudflare WebSocket
114
- */
115
- get raw() {
116
- return this.ws;
117
- }
118
- }
119
- //# sourceMappingURL=test-ws-connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-ws-connection.js","sourceRoot":"","sources":["../../../src/core/ws/test-ws-connection.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- import type { TestingModule } from '../testing-module';
2
- import { TestWsConnection } from './test-ws-connection';
3
- /**
4
- * TestWsRequest
5
- *
6
- * Builder for WebSocket upgrade requests. Follows the TestHttpRequest pattern.
7
- *
8
- * @example
9
- * ```typescript
10
- * const ws = await module.ws('/ws/chat').connect()
11
- * ws.send('hello')
12
- * await ws.assertMessage('echo:hello')
13
- * ws.close()
14
- * ```
15
- *
16
- * @example Authenticated WebSocket
17
- * ```typescript
18
- * const ws = await module.ws('/ws/chat').actingAs({ id: user.id }).connect()
19
- * ```
20
- */
21
- export declare class TestWsRequest {
22
- private readonly path;
23
- private readonly module;
24
- private requestHeaders;
25
- private actingAsUser;
26
- constructor(path: string, module: TestingModule);
27
- /**
28
- * Add custom headers to the upgrade request
29
- */
30
- withHeaders(headers: Record<string, string>): this;
31
- /**
32
- * Authenticate the WebSocket connection as a specific user
33
- */
34
- actingAs(user: {
35
- id: string;
36
- }): this;
37
- /**
38
- * Send the upgrade request and return a live WebSocket connection
39
- */
40
- connect(): Promise<TestWsConnection>;
41
- private applyAuthentication;
42
- }
43
- //# sourceMappingURL=test-ws-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-ws-request.d.ts","sourceRoot":"","sources":["../../../src/core/ws/test-ws-request.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEvD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,aAAa;IAKxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALxB,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,YAAY,CAA8B;gBAGhC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa;IAGvC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAOlD;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKpC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;YA8B5B,mBAAmB;CAajC"}
@@ -1,83 +0,0 @@
1
- import { AUTH_SERVICE } from '@stratal/framework/auth';
2
- import { expect } from 'vitest';
3
- import { ActingAs } from '../../auth';
4
- import { TestWsConnection } from './test-ws-connection';
5
- /**
6
- * TestWsRequest
7
- *
8
- * Builder for WebSocket upgrade requests. Follows the TestHttpRequest pattern.
9
- *
10
- * @example
11
- * ```typescript
12
- * const ws = await module.ws('/ws/chat').connect()
13
- * ws.send('hello')
14
- * await ws.assertMessage('echo:hello')
15
- * ws.close()
16
- * ```
17
- *
18
- * @example Authenticated WebSocket
19
- * ```typescript
20
- * const ws = await module.ws('/ws/chat').actingAs({ id: user.id }).connect()
21
- * ```
22
- */
23
- export class TestWsRequest {
24
- path;
25
- module;
26
- requestHeaders = new Headers();
27
- actingAsUser = null;
28
- constructor(path, module) {
29
- this.path = path;
30
- this.module = module;
31
- }
32
- /**
33
- * Add custom headers to the upgrade request
34
- */
35
- withHeaders(headers) {
36
- for (const [key, value] of Object.entries(headers)) {
37
- this.requestHeaders.set(key, value);
38
- }
39
- return this;
40
- }
41
- /**
42
- * Authenticate the WebSocket connection as a specific user
43
- */
44
- actingAs(user) {
45
- this.actingAsUser = user;
46
- return this;
47
- }
48
- /**
49
- * Send the upgrade request and return a live WebSocket connection
50
- */
51
- async connect() {
52
- await this.applyAuthentication();
53
- this.requestHeaders.set('Upgrade', 'websocket');
54
- this.requestHeaders.set('Connection', 'Upgrade');
55
- this.requestHeaders.set('Sec-WebSocket-Key', 'dGhlIHNhbXBsZSBub25jZQ==');
56
- this.requestHeaders.set('Sec-WebSocket-Version', '13');
57
- const url = new URL(this.path, 'http://localhost');
58
- const request = new Request(url.toString(), {
59
- headers: this.requestHeaders,
60
- });
61
- const response = await this.module.fetch(request);
62
- expect(response.status, `Expected status 101 (Switching Protocols), got ${response.status}`).toBe(101);
63
- const ws = response.webSocket;
64
- if (!ws) {
65
- throw new Error('Response did not include a WebSocket connection');
66
- }
67
- ws.accept();
68
- return new TestWsConnection(ws);
69
- }
70
- async applyAuthentication() {
71
- if (!this.actingAsUser)
72
- return;
73
- await this.module.runInRequestScope(async () => {
74
- const authService = this.module.get(AUTH_SERVICE);
75
- const actingAs = new ActingAs(authService);
76
- const authHeaders = this.actingAsUser ? await actingAs.createSessionForUser(this.actingAsUser) : new Headers();
77
- for (const [key, value] of authHeaders.entries()) {
78
- this.requestHeaders.set(key, value);
79
- }
80
- });
81
- }
82
- }
83
- //# sourceMappingURL=test-ws-request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-ws-request.js","sourceRoot":"","sources":["../../../src/core/ws/test-ws-request.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { TestError } from './test-error';
2
- export { TestSetupError } from './setup-error';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA"}
@@ -1,3 +0,0 @@
1
- export { TestError } from './test-error';
2
- export { TestSetupError } from './setup-error';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA"}
@@ -1,9 +0,0 @@
1
- import { TestError } from './test-error';
2
- /**
3
- * Error thrown when test setup fails.
4
- * Examples: schema creation failure, migration failure, application bootstrap failure.
5
- */
6
- export declare class TestSetupError extends TestError {
7
- constructor(message: string, cause?: Error);
8
- }
9
- //# sourceMappingURL=setup-error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-error.d.ts","sourceRoot":"","sources":["../../src/errors/setup-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;GAGG;AACH,qBAAa,cAAe,SAAQ,SAAS;gBAC/B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAG3C"}
@@ -1,11 +0,0 @@
1
- import { TestError } from './test-error';
2
- /**
3
- * Error thrown when test setup fails.
4
- * Examples: schema creation failure, migration failure, application bootstrap failure.
5
- */
6
- export class TestSetupError extends TestError {
7
- constructor(message, cause) {
8
- super(`Test setup failed: ${message}`, cause);
9
- }
10
- }
11
- //# sourceMappingURL=setup-error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-error.js","sourceRoot":"","sources":["../../src/errors/setup-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,YAAY,OAAe,EAAE,KAAa;QACxC,KAAK,CAAC,sBAAsB,OAAO,EAAE,EAAE,KAAK,CAAC,CAAA;IAC/C,CAAC;CACF"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Base error class for all test framework errors.
3
- * Extends from Error and allows easy identification via `instanceof`.
4
- */
5
- export declare class TestError extends Error {
6
- readonly cause?: Error | undefined;
7
- constructor(message: string, cause?: Error | undefined);
8
- }
9
- //# sourceMappingURL=test-error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-error.d.ts","sourceRoot":"","sources":["../../src/errors/test-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;aAGhB,KAAK,CAAC,EAAE,KAAK;gBAD7B,OAAO,EAAE,MAAM,EACC,KAAK,CAAC,EAAE,KAAK,YAAA;CAQhC"}
@@ -1,15 +0,0 @@
1
- /**
2
- * Base error class for all test framework errors.
3
- * Extends from Error and allows easy identification via `instanceof`.
4
- */
5
- export class TestError extends Error {
6
- cause;
7
- constructor(message, cause) {
8
- super(message);
9
- this.cause = cause;
10
- this.name = 'TestError';
11
- // Maintain proper stack trace
12
- Error.captureStackTrace(this, this.constructor);
13
- }
14
- }
15
- //# sourceMappingURL=test-error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-error.js","sourceRoot":"","sources":["../../src/errors/test-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAGhB;IAFlB,YACE,OAAe,EACC,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAA;QAFE,UAAK,GAAL,KAAK,CAAQ;QAG7B,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QAEvB,8BAA8B;QAC9B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACjD,CAAC;CACF"}
package/dist/index.d.ts DELETED
@@ -1,21 +0,0 @@
1
- export { ProviderOverrideBuilder, type ProviderOverrideConfig } from './core/override';
2
- export { Test } from './core/test';
3
- export { TestingModule } from './core/testing-module';
4
- export { TestingModuleBuilder, type TestingModuleConfig } from './core/testing-module-builder';
5
- export { createMockFetch, MockFetch } from './core/http/mock-fetch';
6
- export type { MockErrorOptions, MockJsonOptions } from './core/http/fetch-mock.types';
7
- export { TestHttpClient } from './core/http/test-http-client';
8
- export { TestHttpRequest } from './core/http/test-http-request';
9
- export { TestResponse } from './core/http/test-response';
10
- export { TestWsRequest } from './core/ws/test-ws-request';
11
- export { TestWsConnection } from './core/ws/test-ws-connection';
12
- export { TestSseRequest } from './core/sse/test-sse-request';
13
- export { TestSseConnection } from './core/sse/test-sse-connection';
14
- export type { TestSseEvent } from './core/sse/test-sse-connection';
15
- export { http, HttpResponse } from 'msw';
16
- export { ActingAs } from './auth';
17
- export { FakeStorageService, type StoredFile } from './storage';
18
- export { Seeder } from './types';
19
- export { getTestEnv } from './core/env';
20
- export { TestError, TestSetupError } from './errors';
21
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAG9F,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACnE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAG/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAA;AAGlE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAGxC,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGjC,OAAO,EAAE,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAA;AAG/D,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAGhC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
package/dist/index.js DELETED
@@ -1,29 +0,0 @@
1
- // Core Testing
2
- export { ProviderOverrideBuilder } from './core/override';
3
- export { Test } from './core/test';
4
- export { TestingModule } from './core/testing-module';
5
- export { TestingModuleBuilder } from './core/testing-module-builder';
6
- // HTTP Testing
7
- export { createMockFetch, MockFetch } from './core/http/mock-fetch';
8
- export { TestHttpClient } from './core/http/test-http-client';
9
- export { TestHttpRequest } from './core/http/test-http-request';
10
- export { TestResponse } from './core/http/test-response';
11
- // WebSocket Testing
12
- export { TestWsRequest } from './core/ws/test-ws-request';
13
- export { TestWsConnection } from './core/ws/test-ws-connection';
14
- // SSE Testing
15
- export { TestSseRequest } from './core/sse/test-sse-request';
16
- export { TestSseConnection } from './core/sse/test-sse-connection';
17
- // Re-export MSW utilities for convenience
18
- export { http, HttpResponse } from 'msw';
19
- // Auth
20
- export { ActingAs } from './auth';
21
- // Storage
22
- export { FakeStorageService } from './storage';
23
- // Types
24
- export { Seeder } from './types';
25
- // Environment utilities
26
- export { getTestEnv } from './core/env';
27
- // Errors
28
- export { TestError, TestSetupError } from './errors';
29
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,uBAAuB,EAA+B,MAAM,iBAAiB,CAAA;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EAAE,oBAAoB,EAA4B,MAAM,+BAA+B,CAAA;AAE9F,eAAe;AACf,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,oBAAoB;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAE/D,cAAc;AACd,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAGlE,0CAA0C;AAC1C,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAExC,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,UAAU;AACV,OAAO,EAAE,kBAAkB,EAAmB,MAAM,WAAW,CAAA;AAE/D,QAAQ;AACR,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEhC,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,SAAS;AACT,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA"}
@@ -1,3 +0,0 @@
1
- export { createMock } from '@golevelup/ts-vitest';
2
- export type { DeepMocked, PartialFuncReturn } from '@golevelup/ts-vitest';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1,3 +0,0 @@
1
- // Deep mocking utilities from @golevelup/ts-vitest
2
- export { createMock } from '@golevelup/ts-vitest';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,mDAAmD;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1,10 +0,0 @@
1
- declare const _default: {
2
- createTransport: () => {
3
- sendMail: () => Promise<{}>;
4
- };
5
- };
6
- export default _default;
7
- export declare const createTransport: () => {
8
- sendMail: () => Promise<{}>;
9
- };
10
- //# sourceMappingURL=nodemailer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodemailer.d.ts","sourceRoot":"","sources":["../../src/mocks/nodemailer.ts"],"names":[],"mappings":";;;;;AAAA,wBAIC;AAED,eAAO,MAAM,eAAe;;CAE1B,CAAA"}
@@ -1,9 +0,0 @@
1
- export default {
2
- createTransport: () => ({
3
- sendMail: () => Promise.resolve({}),
4
- }),
5
- };
6
- export const createTransport = () => ({
7
- sendMail: () => Promise.resolve({}),
8
- });
9
- //# sourceMappingURL=nodemailer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nodemailer.js","sourceRoot":"","sources":["../../src/mocks/nodemailer.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;QACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;KACpC,CAAC;CACH,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC;IACpC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;CACpC,CAAC,CAAA"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Mock for @zenstackhq/language package
3
- *
4
- * The @zenstackhq/language package depends on vscode-languageserver which is
5
- * incompatible with Cloudflare Workers runtime. These exports are only used
6
- * for schema generation (CLI functionality), not runtime authentication.
7
- *
8
- * This mock provides stub implementations to allow tests to run in vitest-pool-workers.
9
- */
10
- export declare const formatDocument: (content: string) => string;
11
- export declare const loadDocument: (_path: string) => {
12
- success: boolean;
13
- errors: string[];
14
- };
15
- export declare class ZModelCodeGenerator {
16
- generate(_model: unknown): string;
17
- }
18
- export declare const isDataModel: (_item: unknown) => boolean;
19
- export declare const isAttribute: (_item: unknown) => boolean;
20
- export declare const isAbstractDeclaration: (_item: unknown) => boolean;
21
- export declare const isExpression: (_item: unknown) => boolean;
22
- export declare const isLiteralExpr: (_item: unknown) => boolean;
23
- export declare const isArrayExpr: (_item: unknown) => boolean;
24
- export declare const isAttributeArg: (_item: unknown) => boolean;
25
- export declare const isBinaryExpr: (_item: unknown) => boolean;
26
- export declare const isBooleanLiteral: (_item: unknown) => boolean;
27
- export declare const isConfigArrayExpr: (_item: unknown) => boolean;
28
- export declare const isConfigField: (_item: unknown) => boolean;
29
- export declare const isDataField: (_item: unknown) => boolean;
30
- export declare const isDataFieldAttribute: (_item: unknown) => boolean;
31
- export declare const isDataFieldType: (_item: unknown) => boolean;
32
- export declare const isDataModelAttribute: (_item: unknown) => boolean;
33
- export declare const hasAttribute: (_node: unknown, _name?: string) => boolean;
34
- declare const _default: {
35
- formatDocument: (content: string) => string;
36
- loadDocument: (_path: string) => {
37
- success: boolean;
38
- errors: string[];
39
- };
40
- ZModelCodeGenerator: typeof ZModelCodeGenerator;
41
- isDataModel: (_item: unknown) => boolean;
42
- isAttribute: (_item: unknown) => boolean;
43
- hasAttribute: (_node: unknown, _name?: string) => boolean;
44
- };
45
- export default _default;
46
- //# sourceMappingURL=zenstack-language.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zenstack-language.d.ts","sourceRoot":"","sources":["../../src/mocks/zenstack-language.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,WAAY,CAAA;AAE1D,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM;;;CAGxC,CAAA;AAEF,qBAAa,mBAAmB;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM;CAGjC;AAGD,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAC7D,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAC7D,eAAO,MAAM,qBAAqB,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AACvE,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAC9D,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAC/D,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAC7D,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAChE,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAC9D,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAClE,eAAO,MAAM,iBAAiB,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AACnE,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAC/D,eAAO,MAAM,WAAW,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAC7D,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AACtE,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AACjE,eAAO,MAAM,oBAAoB,GAAI,OAAO,OAAO,KAAG,OAAgB,CAAA;AAGtE,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,EAAE,QAAQ,MAAM,KAAG,OAAgB,CAAA;;8BA/BtC,MAAM;0BAEV,MAAM;;;;;yBAYP,OAAO,KAAG,OAAO;yBACjB,OAAO,KAAG,OAAO;0BAgBhB,OAAO,UAAU,MAAM,KAAG,OAAO;;AAErE,wBAOC"}
@@ -1,47 +0,0 @@
1
- /**
2
- * Mock for @zenstackhq/language package
3
- *
4
- * The @zenstackhq/language package depends on vscode-languageserver which is
5
- * incompatible with Cloudflare Workers runtime. These exports are only used
6
- * for schema generation (CLI functionality), not runtime authentication.
7
- *
8
- * This mock provides stub implementations to allow tests to run in vitest-pool-workers.
9
- */
10
- // Main exports from @zenstackhq/language
11
- export const formatDocument = (content) => content;
12
- export const loadDocument = (_path) => ({
13
- success: false,
14
- errors: ['Mock: loadDocument not available in test environment'],
15
- });
16
- export class ZModelCodeGenerator {
17
- generate(_model) {
18
- return '';
19
- }
20
- }
21
- // AST exports from @zenstackhq/language/ast
22
- export const isDataModel = (_item) => false;
23
- export const isAttribute = (_item) => false;
24
- export const isAbstractDeclaration = (_item) => false;
25
- export const isExpression = (_item) => false;
26
- export const isLiteralExpr = (_item) => false;
27
- export const isArrayExpr = (_item) => false;
28
- export const isAttributeArg = (_item) => false;
29
- export const isBinaryExpr = (_item) => false;
30
- export const isBooleanLiteral = (_item) => false;
31
- export const isConfigArrayExpr = (_item) => false;
32
- export const isConfigField = (_item) => false;
33
- export const isDataField = (_item) => false;
34
- export const isDataFieldAttribute = (_item) => false;
35
- export const isDataFieldType = (_item) => false;
36
- export const isDataModelAttribute = (_item) => false;
37
- // Utils exports from @zenstackhq/language/utils
38
- export const hasAttribute = (_node, _name) => false;
39
- export default {
40
- formatDocument,
41
- loadDocument,
42
- ZModelCodeGenerator,
43
- isDataModel,
44
- isAttribute,
45
- hasAttribute,
46
- };
47
- //# sourceMappingURL=zenstack-language.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"zenstack-language.js","sourceRoot":"","sources":["../../src/mocks/zenstack-language.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAA;AAE1D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,CAAC,sDAAsD,CAAC;CAChE,CAAC,CAAA;AAEF,MAAM,OAAO,mBAAmB;IAC/B,QAAQ,CAAC,MAAe;QACvB,OAAO,EAAE,CAAA;IACV,CAAC;CACD;AAED,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAC7D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAC7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AACvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAC9D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAC7D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAChE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAC9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AACtE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAEtE,gDAAgD;AAChD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAE,KAAc,EAAW,EAAE,CAAC,KAAK,CAAA;AAE9E,eAAe;IACd,cAAc;IACd,YAAY;IACZ,mBAAmB;IACnB,WAAW;IACX,WAAW;IACX,YAAY;CACZ,CAAA"}