From 77cacf784310dd894d5b595cb8539325e8b0fdd1 Mon Sep 17 00:00:00 2001 From: Reversean Date: Sun, 8 Mar 2026 15:34:07 +0300 Subject: [PATCH] test(javascript): Suppress StackParser to extract source code from files during tests --- packages/javascript/tests/catcher.addons.test.ts | 7 ++++--- packages/javascript/tests/catcher.before-send.test.ts | 5 +++++ packages/javascript/tests/catcher.breadcrumbs.test.ts | 7 ++++--- packages/javascript/tests/catcher.context.test.ts | 7 ++++--- .../javascript/tests/catcher.global-handlers.test.ts | 7 ++++--- packages/javascript/tests/catcher.release.test.ts | 7 ++++++- packages/javascript/tests/catcher.test.ts | 9 ++++----- packages/javascript/tests/catcher.transport.test.ts | 7 ++++--- packages/javascript/tests/catcher.user.test.ts | 7 ++++--- 9 files changed, 39 insertions(+), 24 deletions(-) diff --git a/packages/javascript/tests/catcher.addons.test.ts b/packages/javascript/tests/catcher.addons.test.ts index ff8c568..0990936 100644 --- a/packages/javascript/tests/catcher.addons.test.ts +++ b/packages/javascript/tests/catcher.addons.test.ts @@ -3,9 +3,10 @@ import { BreadcrumbManager } from '../src/addons/breadcrumbs'; import { wait, createTransport, getLastPayload, createCatcher } from './catcher.helpers'; const mockParse = vi.hoisted(() => vi.fn().mockResolvedValue([])); -vi.mock('../src/modules/stackParser', () => ({ - default: class { parse = mockParse; }, -})); +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = mockParse; } }; +}); describe('Catcher', () => { beforeEach(() => { diff --git a/packages/javascript/tests/catcher.before-send.test.ts b/packages/javascript/tests/catcher.before-send.test.ts index bf18f18..d754377 100644 --- a/packages/javascript/tests/catcher.before-send.test.ts +++ b/packages/javascript/tests/catcher.before-send.test.ts @@ -1,6 +1,11 @@ import { describe, it, expect, vi } from 'vitest'; import { createCatcher, createTransport, wait, getLastPayload } from './catcher.helpers'; +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = vi.fn().mockResolvedValue([]); } }; +}); + describe('Catcher', () => { it('should send event as-is when beforeSend returns it unchanged', async () => { const { sendSpy, transport } = createTransport(); diff --git a/packages/javascript/tests/catcher.breadcrumbs.test.ts b/packages/javascript/tests/catcher.breadcrumbs.test.ts index 45cd450..8c065f6 100644 --- a/packages/javascript/tests/catcher.breadcrumbs.test.ts +++ b/packages/javascript/tests/catcher.breadcrumbs.test.ts @@ -3,9 +3,10 @@ import { BreadcrumbManager } from '../src/addons/breadcrumbs'; import { wait, createTransport, getLastPayload, createCatcher } from './catcher.helpers'; const mockParse = vi.hoisted(() => vi.fn().mockResolvedValue([])); -vi.mock('../src/modules/stackParser', () => ({ - default: class { parse = mockParse; }, -})); +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = mockParse; } }; +}); describe('Catcher', () => { beforeEach(() => { diff --git a/packages/javascript/tests/catcher.context.test.ts b/packages/javascript/tests/catcher.context.test.ts index 231b653..062ef2b 100644 --- a/packages/javascript/tests/catcher.context.test.ts +++ b/packages/javascript/tests/catcher.context.test.ts @@ -3,9 +3,10 @@ import { BreadcrumbManager } from '../src/addons/breadcrumbs'; import { wait, createTransport, getLastPayload, createCatcher } from './catcher.helpers'; const mockParse = vi.hoisted(() => vi.fn().mockResolvedValue([])); -vi.mock('../src/modules/stackParser', () => ({ - default: class { parse = mockParse; }, -})); +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = mockParse; } }; +}); describe('Catcher', () => { beforeEach(() => { diff --git a/packages/javascript/tests/catcher.global-handlers.test.ts b/packages/javascript/tests/catcher.global-handlers.test.ts index 34c1810..e593615 100644 --- a/packages/javascript/tests/catcher.global-handlers.test.ts +++ b/packages/javascript/tests/catcher.global-handlers.test.ts @@ -4,9 +4,10 @@ import { BreadcrumbManager } from '../src/addons/breadcrumbs'; import { TEST_TOKEN, wait, createTransport, getLastPayload } from './catcher.helpers'; const mockParse = vi.hoisted(() => vi.fn().mockResolvedValue([])); -vi.mock('../src/modules/stackParser', () => ({ - default: class { parse = mockParse; }, -})); +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = mockParse; } }; +}); describe('Catcher', () => { beforeEach(() => { diff --git a/packages/javascript/tests/catcher.release.test.ts b/packages/javascript/tests/catcher.release.test.ts index 2694711..ec1c684 100644 --- a/packages/javascript/tests/catcher.release.test.ts +++ b/packages/javascript/tests/catcher.release.test.ts @@ -1,6 +1,11 @@ -import { describe, expect, it } from "vitest"; +import { describe, expect, it, vi } from "vitest"; import { createCatcher, createTransport, getLastPayload, wait } from "./catcher.helpers"; +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = vi.fn().mockResolvedValue([]); } }; +}); + describe('Catcher', () => { it('should include release version when configured', async () => { const { sendSpy, transport } = createTransport(); diff --git a/packages/javascript/tests/catcher.test.ts b/packages/javascript/tests/catcher.test.ts index 25a363a..ffc918c 100644 --- a/packages/javascript/tests/catcher.test.ts +++ b/packages/javascript/tests/catcher.test.ts @@ -5,11 +5,10 @@ import { TEST_TOKEN, wait, createTransport, getLastPayload, createCatcher } from // StackParser is mocked to prevent real network calls to source files in the jsdom environment. const mockParse = vi.hoisted(() => vi.fn().mockResolvedValue([])); -vi.mock('../src/modules/stackParser', () => ({ - default: class { - parse = mockParse; - }, -})); +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = mockParse; } }; +}); // ─── Tests ─────────────────────────────────────────────────────────────────── diff --git a/packages/javascript/tests/catcher.transport.test.ts b/packages/javascript/tests/catcher.transport.test.ts index a59f4b1..42f760b 100644 --- a/packages/javascript/tests/catcher.transport.test.ts +++ b/packages/javascript/tests/catcher.transport.test.ts @@ -4,9 +4,10 @@ import type { Transport } from '../src'; import { wait, createCatcher, createTransport } from './catcher.helpers'; const mockParse = vi.hoisted(() => vi.fn().mockResolvedValue([])); -vi.mock('../src/modules/stackParser', () => ({ - default: class { parse = mockParse; }, -})); +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = mockParse; } }; +}); describe('Catcher', () => { beforeEach(() => { diff --git a/packages/javascript/tests/catcher.user.test.ts b/packages/javascript/tests/catcher.user.test.ts index 6f2d29a..5b63d79 100644 --- a/packages/javascript/tests/catcher.user.test.ts +++ b/packages/javascript/tests/catcher.user.test.ts @@ -3,9 +3,10 @@ import { BreadcrumbManager } from '../src/addons/breadcrumbs'; import { wait, createTransport, getLastPayload, createCatcher } from './catcher.helpers'; const mockParse = vi.hoisted(() => vi.fn().mockResolvedValue([])); -vi.mock('../src/modules/stackParser', () => ({ - default: class { parse = mockParse; }, -})); +vi.mock('@hawk.so/core', async (importOriginal) => { + const actual = await importOriginal(); + return { ...actual, StackParser: class { parse = mockParse; } }; +}); describe('Catcher', () => { beforeEach(() => {