mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-07-09 17:18:34 +00:00
fix(tests): reset telemetry singleton in afterEach to prevent cross-test fetch leakage
The telemetry test calls initTelemetry() which sets _enabled=true in the singleton module. Without resetting, logWarn/logError in subsequent test files (e.g. hetzner-cov) trigger unexpected fetch() calls via captureWarning/captureError, shifting mock callCount counters and causing test failures. Add resetTelemetry() export and call it in telemetry test afterEach. Agent: test-engineer Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2221f1155b
commit
03be92288a
3 changed files with 15 additions and 2 deletions
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@openrouter/spawn",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.1",
|
||||
"type": "module",
|
||||
"bin": {
|
||||
"spawn": "cli.js"
|
||||
|
|
|
|||
|
|
@ -125,7 +125,12 @@ describe("telemetry", () => {
|
|||
global.fetch = fetchMock;
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
afterEach(async () => {
|
||||
// Reset telemetry singleton state to prevent cross-test leakage.
|
||||
// initTelemetry() sets _enabled=true which persists across test files,
|
||||
// causing logWarn/logError in other tests to fire unexpected fetch calls.
|
||||
const mod = await import("../shared/telemetry.js");
|
||||
mod.resetTelemetry();
|
||||
global.fetch = originalFetch;
|
||||
if (originalTelemetry !== undefined) {
|
||||
process.env.SPAWN_TELEMETRY = originalTelemetry;
|
||||
|
|
|
|||
|
|
@ -238,6 +238,14 @@ export function captureError(type: string, err: unknown): void {
|
|||
});
|
||||
}
|
||||
|
||||
/** Reset telemetry state. Used by tests to prevent cross-test leakage. */
|
||||
export function resetTelemetry(): void {
|
||||
_enabled = false;
|
||||
_userId = "";
|
||||
_sessionId = "";
|
||||
_context = {};
|
||||
}
|
||||
|
||||
// ── Send ────────────────────────────────────────────────────────────────────
|
||||
|
||||
/** Send a single event to PostHog immediately. Fire-and-forget. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue