import { fireEvent, render, screen } from '@testing-library/react' import UserSidebarMenu from './UserSidebarMenu' import { BrowserRouter } from 'react-router-dom' import { GlobalStateProvider } from './GlobalStateProvider' import CommandBarProvider from './CommandBar' import { NETWORK_CONTENT, NetworkHealthIndicator, } from './NetworkHealthIndicator' function TestWrap({ children }: { children: React.ReactNode }) { // wrap in router and xState context return ( {children} ) } describe('NetworkHealthIndicator tests', () => { test('Renders the network indicator', () => { render( ) fireEvent.click(screen.getByTestId('network-toggle')) expect(screen.getByTestId('network-good')).toHaveTextContent( NETWORK_CONTENT.good ) }) test('Responds to network changes', () => { render( ) fireEvent.offline(window) fireEvent.click(screen.getByTestId('network-toggle')) expect(screen.getByTestId('network-bad')).toHaveTextContent( NETWORK_CONTENT.bad ) }) })