109 lines
4.5 KiB
YAML
109 lines
4.5 KiB
YAML
work_item: ORCH-046
|
||
description: >
|
||
Тест-план для встраивания дословного текста findings reviewer/tester в
|
||
task_desc при заворотах деву. Покрывает новый парсер src/review_parse.py
|
||
(graceful, never-raise) и две rollback-ветки src/stage_engine.py.
|
||
|
||
tests:
|
||
# --- Парсер review findings (extract_review_findings) -------------------
|
||
- id: TC-01
|
||
type: unit
|
||
description: "extract_review_findings возвращает дословный текст P0/P1 при их наличии в 12-review.md"
|
||
module: tests/test_review_parse.py
|
||
covers: [AC-1, AC-5]
|
||
expected: PASS
|
||
|
||
- id: TC-02
|
||
type: unit
|
||
description: "extract_review_findings возвращает '' когда есть только P2/P3 (нет must-fix P0/P1)"
|
||
module: tests/test_review_parse.py
|
||
covers: [AC-5]
|
||
expected: PASS
|
||
|
||
- id: TC-03
|
||
type: unit
|
||
description: "extract_review_findings возвращает '' для отсутствующего файла (несуществующий путь), без исключения"
|
||
module: tests/test_review_parse.py
|
||
covers: [AC-4]
|
||
expected: PASS
|
||
|
||
- id: TC-04
|
||
type: unit
|
||
description: "extract_review_findings возвращает '' для битого/пустого файла или markdown без секции ## Findings, без исключения"
|
||
module: tests/test_review_parse.py
|
||
covers: [AC-4, AC-5]
|
||
expected: PASS
|
||
|
||
- id: TC-05
|
||
type: unit
|
||
description: "extract_review_findings усекает очень длинные findings до лимита с маркером truncated"
|
||
module: tests/test_review_parse.py
|
||
covers: [AC-1]
|
||
expected: PASS
|
||
|
||
# --- Парсер test failures (extract_test_failures) ----------------------
|
||
- id: TC-06
|
||
type: unit
|
||
description: "extract_test_failures извлекает релевантный фрагмент тела (Вывод pytest / FAIL-строки / Итог) из 13-test-report.md с result: FAIL"
|
||
module: tests/test_review_parse.py
|
||
covers: [AC-2, AC-5]
|
||
expected: PASS
|
||
|
||
- id: TC-07
|
||
type: unit
|
||
description: "extract_test_failures возвращает '' для отсутствующего файла, без исключения"
|
||
module: tests/test_review_parse.py
|
||
covers: [AC-4]
|
||
expected: PASS
|
||
|
||
- id: TC-08
|
||
type: unit
|
||
description: "extract_test_failures возвращает '' для битого/пустого отчёта (нет тела/секций), без исключения"
|
||
module: tests/test_review_parse.py
|
||
covers: [AC-4, AC-5]
|
||
expected: PASS
|
||
|
||
# --- Интеграция со stage_engine (rollback task_desc) -------------------
|
||
- id: TC-09
|
||
type: integration
|
||
description: "advance_stage: reviewer REQUEST_CHANGES -> в enqueue_job('developer') task_desc содержит дословные P0/P1 findings И ссылку на 12-review.md"
|
||
module: tests/test_stage_engine.py
|
||
covers: [AC-1, AC-3]
|
||
expected: PASS
|
||
|
||
- id: TC-10
|
||
type: integration
|
||
description: "advance_stage: tester check_tests_passed FAIL -> task_desc содержит reason + фрагмент 13-test-report.md И ссылку на файл"
|
||
module: tests/test_stage_engine.py
|
||
covers: [AC-2, AC-3]
|
||
expected: PASS
|
||
|
||
- id: TC-11
|
||
type: integration
|
||
description: "advance_stage: reviewer REQUEST_CHANGES при отсутствующем/битом 12-review.md -> graceful fallback, task_desc = прежняя ссылка-строка, без исключения"
|
||
module: tests/test_stage_engine.py
|
||
covers: [AC-4, AC-3]
|
||
expected: PASS
|
||
|
||
- id: TC-12
|
||
type: integration
|
||
description: "advance_stage: rollback/retry поведение неизменно — последовательность откатов, _developer_retry_count, alert на 4-й заход, поля AdvanceResult"
|
||
module: tests/test_stage_engine.py
|
||
covers: [AC-6]
|
||
expected: PASS
|
||
|
||
# --- Регресс / неизменность out-of-scope ------------------------------
|
||
- id: TC-13
|
||
type: integration
|
||
description: "Реестр QG_CHECKS не изменён (snapshot), гейты check_* нетронуты"
|
||
module: tests/test_qg_registry_snapshot.py
|
||
covers: [AC-7]
|
||
expected: PASS
|
||
|
||
- id: TC-14
|
||
type: integration
|
||
description: "Полный регресс существующего набора зелёный: python -m pytest tests/ -q"
|
||
module: tests/
|
||
covers: [AC-5, AC-6, AC-7]
|
||
expected: PASS
|