# Unit Test Plan

## Module: {module/file name}

### Function: {function_name}

#### Test: {test_name}
- **Description**: {what behavior this test verifies}
- **Input**: {input values or setup}
- **Expected Output**: {expected return value or side effect}
- **Type**: Happy path / Edge case / Error case

#### Test: {test_name} — Edge Cases
- **Description**: {what edge case this tests}
- **Input**: {edge case input — null, empty, boundary, overflow, etc.}
- **Expected Output**: {expected behavior for edge case}
- **Type**: Edge case

#### Test: {test_name} — Error Handling
- **Description**: {what error scenario this tests}
- **Input**: {invalid input or error condition}
- **Expected Output**: {expected error type, message, or behavior}
- **Type**: Error case

#### Mocking Requirements
- {Dependency to mock}: {why it needs mocking — external service, database, etc.}
- {Dependency to mock}: {why it needs mocking}

---

### Function: {next_function_name}

#### Test: {test_name}
- **Description**: {what behavior this test verifies}
- **Input**: {input values}
- **Expected Output**: {expected output}
- **Type**: Happy path / Edge case / Error case

#### Mocking Requirements
- {none / list dependencies}

---

## Coverage Targets

| Module | Target Coverage | Critical Paths (100%) |
|--------|----------------|----------------------|
| {module} | 80% | {list functions requiring 100% coverage} |
| {module} | 80% | {list functions requiring 100% coverage} |

## Test Summary

| Module | Happy Path | Edge Cases | Error Cases | Total |
|--------|-----------|------------|-------------|-------|
| {module} | {count} | {count} | {count} | {count} |
| **Total** | {count} | {count} | {count} | {count} |
