2023-09-12 14:58:59 -04:00
|
|
|
import { fireEvent, render, screen } from '@testing-library/react'
|
|
|
|
import { BrowserRouter } from 'react-router-dom'
|
2024-03-14 15:56:45 -04:00
|
|
|
import { SettingsAuthProviderJest } from './SettingsAuthProvider'
|
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'
|
2024-06-04 08:32:24 -04:00
|
|
|
import { NetworkHealthState } from 'hooks/useNetworkStatus'
|
2023-09-12 14:58:59 -04:00
|
|
|
|
|
|
|
function TestWrap({ children }: { children: React.ReactNode }) {
|
|
|
|
// wrap in router and xState context
|
|
|
|
return (
|
|
|
|
<BrowserRouter>
|
2025-01-23 10:25:21 -05:00
|
|
|
<SettingsAuthProviderJest>{children}</SettingsAuthProviderJest>
|
2023-09-12 14:58:59 -04:00
|
|
|
</BrowserRouter>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
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
|
|
|
)
|
|
|
|
})
|
|
|
|
})
|