/* eslint-env jest */ /** * Mock: utils/utm.ts * * Provides mock implementations for all UTM utility functions. * * Usage: * import { mockUtmUtils, resetUtmMocks } from "@shared/global-mocks/utm"; * mockUtmUtils(); * afterEach(resetUtmMocks); */ export const mockGetUtmParametersFromURL = jest.fn().mockReturnValue(null); export const mockCombineExistingAndNewUTMs = jest.fn().mockReturnValue({}); export const mockGetOrganicTrafficUtmParameters = jest .fn() .mockReturnValue(null); export const mockGetCampaignProperties = jest.fn().mockReturnValue(null); export const mockBuildPreservedQueryHref = jest .fn() .mockImplementation((href: string) => href); export function mockUtmUtils() { jest.mock("@shared/utils/utm", () => ({ getUtmParametersFromURL: mockGetUtmParametersFromURL, combineExistingAndNewUTMs: mockCombineExistingAndNewUTMs, getOrganicTrafficUtmParameters: mockGetOrganicTrafficUtmParameters, getCampaignProperties: mockGetCampaignProperties, buildPreservedQueryHref: mockBuildPreservedQueryHref, })); return { mockGetUtmParametersFromURL, mockCombineExistingAndNewUTMs, mockGetOrganicTrafficUtmParameters, mockGetCampaignProperties, mockBuildPreservedQueryHref, }; } export function resetUtmMocks() { mockGetUtmParametersFromURL.mockReset().mockReturnValue(null); mockCombineExistingAndNewUTMs.mockReset().mockReturnValue({}); mockGetOrganicTrafficUtmParameters.mockReset().mockReturnValue(null); mockGetCampaignProperties.mockReset().mockReturnValue(null); mockBuildPreservedQueryHref .mockReset() .mockImplementation((href: string) => href); }