Generate Tests
Create or update unit tests for Spark UI components following the project's testing standards.
When to Use
- User wants to add tests to a component
- User mentions "test", "testing", or "test coverage"
- Component is missing tests or has incomplete test coverage
Instructions
Test File Location: Tests go in
ComponentName.test.tsxin the component directoryTesting Library Setup:
- Use Vitest as the test runner
- Use React Testing Library for rendering and queries
- Use
@testing-library/user-eventfor interactions
Test Structure:
import { describe, it, expect } from 'vitest' import { render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { ComponentName } from './ComponentName' describe('ComponentName', () => { it('should render', () => { render(<ComponentName {...defaultProps} />) expect(screen.getByRole('...')).toBeInTheDocument() }) it('should be accessible', () => { // Accessibility tests }) })What to Test:
- Component renders correctly
- All props work as expected
- All variants (size, variant, etc.) render correctly
- User interactions (clicks, keyboard, etc.)
- Accessibility features (ARIA attributes, roles, etc.)
- Edge cases and error states
Accessibility Testing:
- Verify proper ARIA attributes
- Test keyboard navigation
- Verify focus management
- Check semantic HTML
Run Tests:
- Use
npm run test:uifor watch mode - Use
npm run test:runfor single run - Use
npm run test:coveragefor coverage report
- Use
Examples
Reference existing test files in packages/components/src/*/ComponentName.test.tsx for patterns.
Converted and distributed by TomeVault — claim your Tome and manage your conversions.