31 lines
1.2 KiB
Markdown
31 lines
1.2 KiB
Markdown
---
|
|
# nuzlocke-tracker-ee9s
|
|
title: Unit tests for frontend utilities and hooks
|
|
status: draft
|
|
type: task
|
|
created_at: 2026-02-10T09:33:38Z
|
|
updated_at: 2026-02-10T09:33:38Z
|
|
parent: nuzlocke-tracker-yzpb
|
|
---
|
|
|
|
Write unit tests for the frontend utility functions and custom React hooks.
|
|
|
|
## Checklist
|
|
|
|
- [ ] Test `utils/formatEvolution.ts` — evolution chain formatting logic
|
|
- [ ] Test `utils/download.ts` — file download utility
|
|
- [ ] Test `hooks/useRuns.ts` — run CRUD hook with mocked API
|
|
- [ ] Test `hooks/useGames.ts` — game fetching hook
|
|
- [ ] Test `hooks/useEncounters.ts` — encounter operations hook
|
|
- [ ] Test `hooks/usePokemon.ts` — pokemon data hook
|
|
- [ ] Test `hooks/useGenlockes.ts` — genlocke operations hook
|
|
- [ ] Test `hooks/useBosses.ts` — boss operations hook
|
|
- [ ] Test `hooks/useStats.ts` — stats fetching hook
|
|
- [ ] Test `hooks/useAdmin.ts` — admin operations hook
|
|
|
|
## Notes
|
|
|
|
- Utility functions are pure functions — straightforward to test
|
|
- Hooks wrap React Query — test that they call the right API endpoints, handle loading/error states, and invalidate queries correctly
|
|
- Use `@testing-library/react`'s `renderHook` for hook testing
|
|
- Mock the API client (from `src/api/`) rather than individual fetch calls |