diff --git a/frontend/src/pages/__tests__/Stats.test.jsx b/frontend/src/pages/__tests__/Stats.test.jsx index bf5cdb42..c22ceac9 100644 --- a/frontend/src/pages/__tests__/Stats.test.jsx +++ b/frontend/src/pages/__tests__/Stats.test.jsx @@ -14,6 +14,7 @@ import useChannelsStore from '../../store/channels'; import useLogosStore from '../../store/logos'; import { fetchActiveChannelStats, + getCurrentPrograms, getClientStats, getCombinedConnections, getStatsByChannelId, @@ -30,11 +31,11 @@ vi.mock('../../store/streamProfiles'); vi.mock('../../hooks/useLocalStorage'); vi.mock('../../components/SystemEvents', () => ({ - default: () =>
SystemEvents
+ default: () =>
SystemEvents
, })); vi.mock('../../components/ErrorBoundary.jsx', () => ({ - default: ({ children }) =>
{children}
+ default: ({ children }) =>
{children}
, })); vi.mock('../../components/cards/VodConnectionCard.jsx', () => ({ @@ -92,6 +93,7 @@ vi.mock('../../utils/pages/StatsUtils', () => { return { fetchActiveChannelStats: vi.fn(), getVODStats: vi.fn(), + getCurrentPrograms: vi.fn(), getClientStats: vi.fn(), getCombinedConnections: vi.fn(), getStatsByChannelId: vi.fn(), @@ -112,9 +114,7 @@ describe('StatsPage', () => { 'channel-2': mockChannels[1], }; - const mockStreamProfiles = [ - { id: 1, name: 'Profile 1' }, - ]; + const mockStreamProfiles = [{ id: 1, name: 'Profile 1' }]; const mockLogos = { 'logo-1': 'logo-url-1', @@ -131,9 +131,7 @@ describe('StatsPage', () => { vod_connections: [ { content_uuid: 'vod-1', - connections: [ - { client_id: 'client-1', ip: '192.168.1.1' }, - ], + connections: [{ client_id: 'client-1', ip: '192.168.1.1' }], }, ], }; @@ -152,7 +150,11 @@ describe('StatsPage', () => { const mockCombinedConnections = [ { id: 1, type: 'stream', data: { id: 1, uuid: 'channel-1' } }, { id: 2, type: 'stream', data: { id: 2, uuid: 'channel-2' } }, - { id: 3, type: 'vod', data: { content_uuid: 'vod-1', connections: [{ client_id: 'client-1' }] } }, + { + id: 3, + type: 'vod', + data: { content_uuid: 'vod-1', connections: [{ client_id: 'client-1' }] }, + }, ]; let mockSetChannelStats; @@ -194,6 +196,7 @@ describe('StatsPage', () => { // Setup API mocks fetchActiveChannelStats.mockResolvedValue(mockChannelStats); getVODStats.mockResolvedValue(mockVODStats); + getCurrentPrograms.mockResolvedValue({}); getStatsByChannelId.mockReturnValue(mockProcessedChannelHistory); getClientStats.mockReturnValue(mockClients); getCombinedConnections.mockReturnValue(mockCombinedConnections); @@ -206,7 +209,7 @@ describe('StatsPage', () => { describe('Initial Rendering', () => { it('renders the page title', async () => { render(); - await screen.findByText('Active Connections') + await screen.findByText('Active Connections'); }); it('fetches initial stats on mount', async () => { @@ -229,7 +232,7 @@ describe('StatsPage', () => { it('renders SystemEvents component', async () => { render(); - await screen.findByTestId('system-events') + await screen.findByTestId('system-events'); }); }); @@ -266,7 +269,7 @@ describe('StatsPage', () => { useLocalStorage.mockReturnValue([0, mockSetRefreshInterval]); render(); - await screen.findByText('Refreshing disabled') + await screen.findByText('Refreshing disabled'); }); }); @@ -348,8 +351,12 @@ describe('StatsPage', () => { render(); await waitFor(() => { - expect(screen.getByTestId('stream-connection-card-channel-1')).toBeInTheDocument(); - expect(screen.getByTestId('stream-connection-card-channel-2')).toBeInTheDocument(); + expect( + screen.getByTestId('stream-connection-card-channel-1') + ).toBeInTheDocument(); + expect( + screen.getByTestId('stream-connection-card-channel-2') + ).toBeInTheDocument(); }); }); @@ -357,7 +364,9 @@ describe('StatsPage', () => { render(); await waitFor(() => { - expect(screen.getByTestId('vod-connection-card-vod-1')).toBeInTheDocument(); + expect( + screen.getByTestId('vod-connection-card-vod-1') + ).toBeInTheDocument(); }); }); @@ -376,7 +385,9 @@ describe('StatsPage', () => { render(); await waitFor(() => { - expect(screen.getByTestId('stop-vod-client-client-1')).toBeInTheDocument(); + expect( + screen.getByTestId('stop-vod-client-client-1') + ).toBeInTheDocument(); }); const stopButton = screen.getByTestId('stop-vod-client-client-1'); @@ -422,14 +433,18 @@ describe('StatsPage', () => { render(); await waitFor(() => { - expect(getClientStats).toHaveBeenCalledWith(mockProcessedChannelHistory); + expect(getClientStats).toHaveBeenCalledWith( + mockProcessedChannelHistory + ); }); }); }); describe('Error Handling', () => { it('handles fetchActiveChannelStats error gracefully', async () => { - const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {}); + const consoleError = vi + .spyOn(console, 'error') + .mockImplementation(() => {}); fetchActiveChannelStats.mockRejectedValue(new Error('API Error')); render(); @@ -445,7 +460,9 @@ describe('StatsPage', () => { }); it('handles getVODStats error gracefully', async () => { - const consoleError = vi.spyOn(console, 'error').mockImplementation(() => {}); + const consoleError = vi + .spyOn(console, 'error') + .mockImplementation(() => {}); getVODStats.mockRejectedValue(new Error('VOD API Error')); render(); @@ -491,4 +508,4 @@ describe('StatsPage', () => { }); }); }); -}); \ No newline at end of file +});