honertia 0.1.23 → 0.1.24
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/effect/testing.d.ts
CHANGED
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Test helpers for integration testing Effect-based routes.
|
|
5
5
|
* Enables `describeRoute()` pattern for real route testing.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: This module uses lazy loading for 'bun:test' to avoid
|
|
8
|
+
* bundling issues when deploying to Cloudflare Workers.
|
|
6
9
|
*/
|
|
7
10
|
import { Layer } from 'effect';
|
|
8
11
|
import type { Hono, Env } from 'hono';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/effect/testing.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/effect/testing.ts"],"names":[],"mappings":"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"}
|
package/dist/effect/testing.js
CHANGED
|
@@ -3,9 +3,24 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Test helpers for integration testing Effect-based routes.
|
|
5
5
|
* Enables `describeRoute()` pattern for real route testing.
|
|
6
|
+
*
|
|
7
|
+
* NOTE: This module uses lazy loading for 'bun:test' to avoid
|
|
8
|
+
* bundling issues when deploying to Cloudflare Workers.
|
|
6
9
|
*/
|
|
7
|
-
import { describe, test, expect as expectBun } from 'bun:test';
|
|
8
10
|
import { Layer } from 'effect';
|
|
11
|
+
// Lazy-loaded bun:test exports (only loaded when tests actually run)
|
|
12
|
+
// Using a computed module name to prevent bundlers from statically analyzing this
|
|
13
|
+
let _bunTestModule = null;
|
|
14
|
+
function getBunTestSync() {
|
|
15
|
+
if (!_bunTestModule) {
|
|
16
|
+
// Compute module name to prevent static analysis by bundlers
|
|
17
|
+
const modName = ['bun', 'test'].join(':');
|
|
18
|
+
// Use require for synchronous loading (available in Bun)
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
20
|
+
_bunTestModule = require(modName);
|
|
21
|
+
}
|
|
22
|
+
return _bunTestModule;
|
|
23
|
+
}
|
|
9
24
|
import { RouteRegistry, getGlobalRegistry } from './route-registry.js';
|
|
10
25
|
/**
|
|
11
26
|
* Default user factory.
|
|
@@ -48,6 +63,7 @@ function buildUrl(route, params, query) {
|
|
|
48
63
|
* Create a test function for a route.
|
|
49
64
|
*/
|
|
50
65
|
function createTestFn(app, route, config, testLayer) {
|
|
66
|
+
const { test, expect: expectBun } = getBunTestSync();
|
|
51
67
|
return (name, options) => {
|
|
52
68
|
test(name, async () => {
|
|
53
69
|
// Setup database if configured
|
|
@@ -223,6 +239,7 @@ export function describeRoute(routeName, app, registryOrLayerOrCallback, layerOr
|
|
|
223
239
|
.join(', ') || '(none)'}`);
|
|
224
240
|
}
|
|
225
241
|
// Create describe block
|
|
242
|
+
const { describe } = getBunTestSync();
|
|
226
243
|
describe(`Route: ${routeName} [${route.method.toUpperCase()} ${route.fullPath}]`, () => {
|
|
227
244
|
const testFn = createTestFn(app, route, config, testLayer);
|
|
228
245
|
callback(testFn);
|