import { VERSION } from '@/plugins/version'; import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'; import '@test/plugins/beTypeOrNull'; import '@test/plugins/findByTestId'; import '@test/plugins/pinia'; import '@test/plugins/vue-i18n'; import '@test/plugins/vuetify'; import { config } from '@vue/test-utils'; import ResizeObserver from 'resize-observer-polyfill'; globalThis.ResizeObserver = ResizeObserver; Object.defineProperty(document, 'elementsFromPoint', { value: vi.fn(() => []), }); vi.stubGlobal( 'matchMedia', vi.fn().mockImplementation(() => { return { matches: true, addEventListener: vi.fn(), removeEventListener: vi.fn(), }; }), ); vi.stubGlobal('localStorage', { getItem: vi.fn(), setItem: vi.fn(), }); vi.stubGlobal('visualViewport', new EventTarget()); vi.mock('@3cr/sdk-browser', async (importOriginal) => { return { ...(await importOriginal()), registerVersion: vi.fn(), createInstance: vi.fn(), executePayload: vi.fn(), registerOnPayloadHandler: vi.fn(), }; }); vi.mock('@kyvg/vue3-notification', async (importOriginal) => { return { ...(await importOriginal()), useNotification: vi.fn().mockReturnValue({ notify: vi.fn(), }), }; }); config.global.components = { ...config.global.provide, FontAwesomeIcon, }; config.global.provide = { ...config.global.provide, [VERSION]: '0.0.0', };