Spaces:
Running
Running
| import { render, screen } from '@testing-library/react' | |
| import { describe, it, expect, vi } from 'vitest' | |
| import HeaderNav from '../../components/HeaderNav' | |
| // Mock react-router-dom | |
| vi.mock('react-router-dom', () => ({ | |
| useLocation: () => ({ pathname: '/' }), | |
| useNavigate: () => vi.fn(), | |
| Link: ({ children, to }: { children: React.ReactNode; to: string }) => ( | |
| <a href={to}>{children}</a> | |
| ), | |
| })) | |
| describe('HeaderNav', () => { | |
| it('renders without crashing', () => { | |
| render(<HeaderNav />) | |
| const navElements = screen.getAllByRole('navigation') | |
| expect(navElements.length).toBeGreaterThan(0) | |
| }) | |
| it('contains navigation links', () => { | |
| render(<HeaderNav />) | |
| expect(screen.getByText(/explore/i)).toBeInTheDocument() | |
| expect(screen.getByText(/analytics/i)).toBeInTheDocument() | |
| expect(screen.getByText(/upload/i)).toBeInTheDocument() | |
| }) | |
| it('displays the PromptAid Vision title', () => { | |
| render(<HeaderNav />) | |
| expect(screen.getByText('PromptAid Vision')).toBeInTheDocument() | |
| }) | |
| it('contains help and dev buttons', () => { | |
| render(<HeaderNav />) | |
| expect(screen.getByText(/help & support/i)).toBeInTheDocument() | |
| expect(screen.getByText(/dev/i)).toBeInTheDocument() | |
| }) | |
| }) | |