2023-09-12 14:58:59 -04:00
|
|
|
import { fireEvent, render, screen } from '@testing-library/react'
|
2025-04-01 14:20:42 -07:00
|
|
|
import { NetworkHealthState } from 'hooks/useNetworkStatus'
|
2023-09-12 14:58:59 -04:00
|
|
|
import { BrowserRouter } from 'react-router-dom'
|
2025-04-01 14:20:42 -07:00
|
|
|
|
2023-09-12 14:58:59 -04:00
|
|
|
import {
|
2024-02-12 16:00:31 -05:00
|
|
|
NETWORK_HEALTH_TEXT,
|
2023-09-12 14:58:59 -04:00
|
|
|
NetworkHealthIndicator,
|
|
|
|
} from './NetworkHealthIndicator'
|
|
|
|
|
|
|
|
function TestWrap({ children }: { children: React.ReactNode }) {
|
|
|
|
// wrap in router and xState context
|
2025-02-21 13:47:36 -05:00
|
|
|
return <BrowserRouter>{children}</BrowserRouter>
|
2023-09-12 14:58:59 -04:00
|
|
|
}
|
|
|
|
|
2024-06-04 08:32:24 -04:00
|
|
|
// Our Playwright tests for this are much more comprehensive.
|
2023-09-12 14:58:59 -04:00
|
|
|
describe('NetworkHealthIndicator tests', () => {
|
|
|
|
test('Renders the network indicator', () => {
|
|
|
|
render(
|
|
|
|
<TestWrap>
|
|
|
|
<NetworkHealthIndicator />
|
|
|
|
</TestWrap>
|
|
|
|
)
|
|
|
|
|
|
|
|
fireEvent.click(screen.getByTestId('network-toggle'))
|
|
|
|
|
2024-06-04 08:32:24 -04:00
|
|
|
// Starts as disconnected
|
2024-02-12 16:00:31 -05:00
|
|
|
expect(screen.getByTestId('network')).toHaveTextContent(
|
|
|
|
NETWORK_HEALTH_TEXT[NetworkHealthState.Disconnected]
|
2023-09-12 14:58:59 -04:00
|
|
|
)
|
|
|
|
})
|
|
|
|
})
|