maji-testlisted
Install: claude install-skill Ijam18/MAJI-Skills
# maji-test — Disciplined Test Generation
A skill that generates tests focused on behaviour and edge cases, not on padding coverage numbers.
---
## When to Use
Type `maji-test <target>` where target is:
- A function (`maji-test src/utils.ts:parseDate`)
- A file (`maji-test src/auth.ts`)
- A failing scenario (`maji-test "user submits empty form"`)
---
## Test Structure (per case)
```
test('[case description in plain English]', () => {
// Arrange
[setup minimum needed state]
// Act
[single action being tested]
// Assert
[single behaviour being verified]
})
```
One test = one case = one assertion (where reasonable).
---
## Cases to Cover (in this order of priority)
### 1. Happy Path (always)
The normal expected use. If this breaks, the feature is unusable.
### 2. Edge Cases (often)
- Empty input (`""`, `[]`, `{}`, `null`, `undefined`)
- Boundary values (0, -1, max-int, very long strings)
- Type-coerced values (string `"0"` vs number `0`)
- Whitespace, special characters, unicode
### 3. Error Cases (when relevant)
- Invalid input (wrong type, missing required field)
- External service failures (timeout, 500 response)
- Concurrency issues (if applicable)
### 4. Integration (selectively)
- Cross-module behaviour
- Real DB / real API calls (sparingly — slow tests are ignored tests)
---
## Naming Convention
| ❌ Bad | ✅ Good |
|---|---|
| `test('login')` | `test('login returns user when credentials match')` |
| `test('parseDate works')` | `test('par