import { describe, it, expect } from 'vitest'; import { render, screen } from '@testing-library/react'; import { MemoryRouter } from 'react-router-dom'; import { BackLink } from '@/components/BackLink'; function renderBackLink(to: string, label: string) { return render( {label} , ); } describe('BackLink', () => { it('renders children as link text', () => { renderBackLink('/engagements', 'Back to engagements'); expect(screen.getByText('Back to engagements')).toBeInTheDocument(); }); it('renders as an anchor with the correct href', () => { renderBackLink('/engagements', 'Back to engagements'); const link = screen.getByRole('link'); expect(link).toHaveAttribute('href', '/engagements'); }); it('has no rounded-md, transition-*, or shadow-* (brutalism)', () => { renderBackLink('/engagements', 'Back'); const link = screen.getByRole('link'); expect(link).not.toHaveClass('rounded-md'); expect(link.className).not.toMatch(/transition-/); expect(link.className).not.toMatch(/shadow-/); }); it('contains the ArrowLeft icon (svg element)', () => { const { container } = renderBackLink('/engagements', 'Back'); const svg = container.querySelector('svg'); expect(svg).toBeInTheDocument(); }); });