import * as React from 'react'; import { render, waitFor } from '@testing-library/react'; import { UsercentricsProvider } from './contexts/UsercentricsContext'; import { Container } from './Container'; jest.mock('./contexts/UsercentricsContext/loadUsercentrics'); jest.mock('./components/InitialBanner/InitialBanner', () => ({ InitialBanner: () => <>, })); jest.mock('./components/InitialDialog/InitialDialog', () => ({ InitialDialog: () => <>, })); jest.mock('./components/SettingsModal/SettingsModal', () => ({ SettingsModal: () => <>, })); jest.mock('./components/DetailsModal/DetailsModal', () => ({ DetailsModal: () => <>, })); describe('', () => { it('handles consent update event', async () => { const mockFn = jest.fn(); const consentEventName = 'ucConsent'; render( <>} settingsId="XXXX" consentEventName={consentEventName}> ); await waitFor(() => { expect(mockFn).toHaveBeenCalledTimes(0); }); const event = new Event(consentEventName); (event as any).detail = { event: 'consent_status', }; window.dispatchEvent(event); await waitFor(() => { expect(mockFn).toHaveBeenCalledTimes(1); }); }); });