import { render, waitFor, fireEvent } from '@testing-library/react'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { server } from '@availity/mock/src/lib/server'; import { Spaces } from '../Spaces'; import { SpacesLink } from '../SpacesLink/SpacesLink'; window.open = vi.fn(); const queryClient = new QueryClient(); const DisclaimerModal = () => ( ); describe('DisclaimerModal', () => { beforeAll(() => { // Start the interception. server.listen(); }); afterEach(() => { vi.clearAllMocks(); server.resetHandlers(); }); // terminate the server afterAll(() => server.close()); it('renders modal when space metadata contains disclaimerId', async () => { const { getByText } = render(); const link = await waitFor(() => getByText('Some Application')); fireEvent.click(link); const disclaimerText = await waitFor(() => getByText('hello world')); expect(disclaimerText).toBeDefined(); const submitBtn = await waitFor(() => getByText('Accept')); fireEvent.click(submitBtn); expect(window.open).toHaveBeenCalledTimes(1); }); });