Writing Common Tests (TDD)
SkillDev toolsTDD practices and test utilities for suite-common packages, including Red-Green-Refactor workflow and @suite-common/test-utils usage. Use when writing tests for suite-common packages.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Writing Common Tests (TDD) skill
What this skill tells your AI
The instructions your AI receives, as published by trezor/trezor-suite in skills/tests-common/SKILL.md and read by ahel’s review.
This skill enforces Test-Driven Development (TDD) practices for suite-common packages and ensures proper usage of the
@suite-common/test-utils package.
Core Principles
1. Test-First Development
- ALWAYS write tests before implementing features in suite-common packages.
- Follow the Red-Green-Refactor cycle:
- Red: Write a failing test that describes the desired behavior. Run test to confirm it fails for the right reason (e.g., "Expected value to be X but got Y").
- Green: Write the minimum code to make the test pass. Run test to confirm it passes.
- Refactor: Clean up the code while keeping tests green. Run test to confirm it still passes after refactoring.
2. Writing tests
- Focus on testing behavior and user interactions, not implementation details.
- Follow arrange-act-assert pattern for test structure.
3. Use @suite-common/test-utils Package
- REQUIRED: Use
@suite-common/test-utilsfor all suite-common testing that involves React hooks. - NEVER import directly from
@testing-library/reactwhen testing hooks. - The test-utils package provides all necessary utilities including
renderHookWithStoreProvider.
Checklist
Before submitting code, ensure:
- Tests were written BEFORE implementation
- Using
@suite-common/test-utilsfor hook tests (not direct@testing-library/react) - Correct render function used (
renderHookWithStoreProviderfor hooks needing store,renderHookotherwise) - Fixtures are properly typed
- Tests focus on behavior, not implementation
- Tests follow the
.test.tsor.test.tsxnaming convention - All tests pass locally
Signals
- GitHub stars
- 1k
- Forks
- 375
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
tests-common- Source
- github.com/trezor/trezor-suite