import React from 'react'; import { render, screen } from '@testing-library/react-native'; import { ConnectionBanner } from '@/components/ConnectionBanner'; import { ThemeProvider } from '@/theme/ThemeContext'; const renderWithTheme = (ui: React.ReactElement) => render({ui}); describe('ConnectionBanner', () => { it('renders LIVE STREAM text when connected', () => { renderWithTheme(); expect(screen.getByText('LIVE STREAM')).toBeTruthy(); }); it('renders DISCONNECTED text when disconnected', () => { renderWithTheme(); expect(screen.getByText('DISCONNECTED')).toBeTruthy(); }); it('renders SIMULATED DATA text when simulated', () => { renderWithTheme(); expect(screen.getByText('SIMULATED DATA')).toBeTruthy(); }); it('renders without crashing for each status', () => { const statuses: Array<'connected' | 'simulated' | 'disconnected'> = [ 'connected', 'simulated', 'disconnected', ]; for (const status of statuses) { const { unmount } = renderWithTheme(); unmount(); } }); });