# Test Case Checklist For A Specific Class

## 1) Target Discovery
- Confirm exact class path and namespace
- Confirm whether this should be Feature or Unit test

## 2) Behavior Mapping
- List public methods to test
- For each method list:
  - required inputs
  - expected outputs/state changes
  - guards and failure paths

## 3) Test Matrix
- Success case
- Invalid/boundary input case
- Error/failure case
- Permission/auth case (if relevant)
- Side effects case (events/jobs/notifications/logging)

## 4) Test Data Strategy
- Use factories for DB-backed entities
- Use mocks/fakes for external integrations
- Keep only required fixtures

## 5) Assertions
- Response/return value assertions
- DB assertion for persistence side effects
- Exception/message assertions for failures
- Event/job/notification dispatch assertions when needed

## 6) Execution
- Run targeted test file first
- Fix flaky assumptions
- Keep test independent and repeatable
