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()
})
})