// src/components/AppGuard.test.tsx import React from 'react'; import { render, screen, waitFor } from '@testing-library/react'; import { describe, it, expect, vi, beforeEach } from 'vitest'; import { AppGuard } from './AppGuard'; import { useAppInitialization } from '../hooks/useAppInitialization'; import { useModal } from '../hooks/useModal'; // Mock dependencies vi.mock('../hooks/useAppInitialization'); vi.mock('../hooks/useModal'); vi.mock('./WhatsNewModal', () => ({ WhatsNewModal: ({ isOpen }: { isOpen: boolean }) => isOpen ?
: null, })); vi.mock('../config', () => ({ default: { app: { version: '1.0.0', commitMessage: 'Test commit' }, }, })); const mockedUseAppInitialization = vi.mocked(useAppInitialization); const mockedUseModal = vi.mocked(useModal); describe('AppGuard', () => { beforeEach(() => { vi.clearAllMocks(); // Default mocks mockedUseAppInitialization.mockReturnValue({ isDarkMode: false, unitSystem: 'imperial', }); mockedUseModal.mockReturnValue({ isModalOpen: vi.fn().mockReturnValue(false), openModal: vi.fn(), closeModal: vi.fn(), }); }); it('should render children', () => { render(