tests: Update StreamConnectionCard tests to mock users store and adjust state implementations
Some checks are pending
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Frontend Tests / test (push) Waiting to run

This commit is contained in:
SergeantPanda 2026-04-22 17:23:02 -05:00
parent 09a43e4d81
commit efefd9038f

View file

@ -16,6 +16,9 @@ vi.mock('../../../store/settings.jsx', () => ({
vi.mock('../../../store/useVideoStore', () => ({
default: vi.fn(),
}));
vi.mock('../../../store/users.jsx', () => ({
default: vi.fn(),
}));
// dateTimeUtils
vi.mock('../../../utils/dateTimeUtils.js', () => ({
@ -167,7 +170,6 @@ vi.mock('lucide-react', () => ({
SquareX: () => <svg data-testid="icon-square-x" />,
Timer: () => <svg data-testid="icon-timer" />,
Users: () => <svg data-testid="icon-users" />,
Video: () => <svg data-testid="icon-video" />,
Package: () => <svg data-testid="icon-package" />,
Download: () => <svg data-testid="icon-download" />,
}));
@ -177,6 +179,7 @@ import { useLocation } from 'react-router-dom';
import usePlaylistsStore from '../../../store/playlists.jsx';
import useSettingsStore from '../../../store/settings.jsx';
import useVideoStore from '../../../store/useVideoStore';
import useUsersStore from '../../../store/users.jsx';
import { showNotification } from '../../../utils/notificationUtils.js';
import {
getChannelStreams,
@ -254,18 +257,27 @@ const setupLocation = (pathname = '/stats') => {
});
};
const mockShowVideo = vi.fn();
const mockPlaylistsState = { playlists: [], profiles: {} };
const mockSettingsState = {
settings: { proxy_settings: {} },
environment: { env_mode: 'production' },
};
const mockVideoState = { showVideo: mockShowVideo };
const mockUsersState = { users: [] };
const setupStores = () => {
vi.mocked(usePlaylistsStore).mockImplementation((selector) =>
selector({ playlists: [], profiles: {} })
selector(mockPlaylistsState)
);
vi.mocked(useSettingsStore).mockImplementation((selector) =>
selector({
settings: { proxy_settings: {} },
environment: { env_mode: 'production' },
})
selector(mockSettingsState)
);
vi.mocked(useVideoStore).mockImplementation((selector) =>
selector({ showVideo: vi.fn() })
selector(mockVideoState)
);
vi.mocked(useUsersStore).mockImplementation((selector) =>
selector(mockUsersState)
);
};