import { render, screen } from '@testing-library/react' import { vi } from 'vitest' import { usePathname } from '@/next/navigation' import HeaderWrapper from '../header-wrapper' vi.mock('@/next/navigation', () => ({ usePathname: vi.fn(), })) describe('HeaderWrapper', () => { beforeEach(() => { vi.clearAllMocks() localStorage.clear() vi.mocked(usePathname).mockReturnValue('/test') }) it('should render children correctly', () => { render(
Test Child
, ) expect(screen.getByTestId('child')).toBeInTheDocument() expect(screen.getByText('Test Child')).toBeInTheDocument() }) it('should keep children mounted on workflow routes', () => { vi.mocked(usePathname).mockReturnValue('/some/path/workflow') render(
Workflow Content
, ) expect(screen.getByText('Workflow Content')).toBeInTheDocument() }) it('should keep children mounted on pipeline routes', () => { vi.mocked(usePathname).mockReturnValue('/some/path/pipeline') render(
Pipeline Content
, ) expect(screen.getByText('Pipeline Content')).toBeInTheDocument() }) it('should keep children mounted on non-canvas routes', () => { vi.mocked(usePathname).mockReturnValue('/apps') render(
App Content
, ) expect(screen.getByText('App Content')).toBeInTheDocument() }) })