This commit is contained in:
ВяткинАртём
2026-04-07 09:33:47 +03:00
parent 67cb7bcdeb
commit b6eb535e25
18 changed files with 110 additions and 1 deletions
@@ -0,0 +1,123 @@
---
name: testlink-to-autotest
description: "Full pipeline: fetch TestLink test case → decompose into mini-tests → write autotests → review code quality → run and fix tests. Use when: user wants end-to-end test automation from a TestLink test case number, полный цикл по тест-кейсу, сгенерируй автотесты по тест-кейсу TestLink, автоматизировать тест-кейс, full pipeline test case to autotest, КМД в автотест, TestLink в код."
argument-hint: "TestLink test case ID (e.g. КМД-1831 or 1831)"
---
# TestLink → Autotest Full Pipeline
Orchestrates four skills in sequence to go from a TestLink test case ID
to reviewed, passing autotests — with checkpoints at each stage.
## Pipeline Overview
```
[1] testlink-decompose → Mini-test specifications
[2] autotest-writer → Test code files
[3] python-review → Code quality fixes (🔴 auto-applied, 🟡🟢 proposed)
[4] test-runner → Passing test suite
```
## Procedure
### Stage 1 — Decompose Test Case
Apply the full `testlink-decompose` skill procedure using the test case ID provided by the user.
On completion, display the mini-test table and ask:
> **Checkpoint 1/4** — Found {N} mini-test(s). Proceed to write autotests for all?
> Or specify which mini-test IDs to cover (e.g. `MT1, MT3`).
Wait for confirmation. If the user selects a subset — carry only those mini-tests forward.
---
### Stage 2 — Write Autotests
Apply the full `autotest-writer` skill procedure for each accepted mini-test.
Pass the mini-test structure (id, title, description, steps, expected result)
directly as the test specification — skip `autotest-writer` Step 1 discovery of "what to test"
since the spec is already known.
Still execute:
- `autotest-writer` Step 2 — discover project test patterns
- `autotest-writer` Step 3 — resolve library docs via context7 if needed
- `autotest-writer` Step 4 — plan tests (one plan entry per mini-test step group)
- `autotest-writer` Step 57 — write, place, and collect-validate
On completion:
> **Checkpoint 2/4** — Written {N} test function(s) in `{filepath}`.
> Proceeding to code review...
No confirmation needed — continue automatically.
---
### Stage 3 — Code Review
Apply the full `python-review` skill procedure on the test file(s) written in Stage 2.
Auto-apply rules:
- 🔴 Must Fix — **apply immediately without asking**
- 🟡 Should Fix — **apply immediately without asking**
- 🟢 Consider — **show as suggestions, do not apply**
After applying 🔴🟡 fixes, display 🟢 suggestions (if any) and ask:
> **Checkpoint 3/4** — Review complete. Applied {N} fixes.
> 🟢 Suggestions: {list or "none"}
> Apply any suggestions before running tests? (`yes` / `no` / list numbers)
Wait for response, then apply selected suggestions.
---
### Stage 4 — Run Tests
Apply the full `test-runner` skill procedure on the test file(s) from Stage 2.
If tests pass on first run:
> **Checkpoint 4/4 ✅** — All {N} tests passing.
If tests fail — follow the full `test-runner` diagnosis and fix loop (up to 3 iterations).
After fixing, re-run the full suite for regression check.
---
### Final Report
Output a structured pipeline summary:
```
## Pipeline Complete: {ORIGINAL_ID} → Autotests
| Stage | Result |
|-------|--------|
| 1. Decompose | {N} mini-tests from {ORIGINAL_ID} |
| 2. Write | {N} test functions in {filepath} |
| 3. Review | {N} fixes applied; {N} suggestions |
| 4. Run | {passed}/{total} tests passing |
### Test Functions Written
- `test_{name_1}` — КМД-XXXX-MT1
- `test_{name_2}` — КМД-XXXX-MT2
### Remaining Issues (if any)
{description or "None"}
```
## Error Handling
| Failure point | Action |
|---|---|
| Stage 1: test case not found | Stop, report to user, ask for correct ID |
| Stage 2: no test patterns found | Ask user to point to an existing test file as reference |
| Stage 3: mypy/ruff not installed | Skip review, warn user, continue to Stage 4 |
| Stage 4: tests fail after 3 fix attempts | Report remaining failures with diagnosis; do not loop further |