98 lines
3.7 KiB
YAML
98 lines
3.7 KiB
YAML
work_item: ORCH-047
|
||
module_under_test: src/qg/checks.py::_parse_tests_verdict (via check_tests_passed)
|
||
test_file: tests/test_qg.py
|
||
notes: >
|
||
Добавить в класс TestCheckTestsPassed. Шаблон записи отчёта — существующий
|
||
хелпер self._write(dir, content). Наборы токенов не меняются; проверяем, что
|
||
поле result: теперь равноправно с verdict:/status:, а старые кейсы не регрессируют.
|
||
|
||
tests:
|
||
- id: TC-01
|
||
type: unit
|
||
description: "result: PASS без verdict/status -> гейт PASS (главный кейс ORCH-17, AC-01)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\ntype: test-report\nresult: PASS\n---\n\n# Test Report\n"
|
||
expected: PASS
|
||
|
||
- id: TC-02
|
||
type: unit
|
||
description: "result: FAIL без verdict/status -> гейт FAIL, reason содержит FAIL (AC-02)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\nresult: FAIL\n---\n\nbody\n"
|
||
expected: FAIL
|
||
|
||
- id: TC-03
|
||
type: unit
|
||
description: "result: PASS, но verdict: BLOCKED -> negative авторитетен -> FAIL (AC-03)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\nresult: PASS\nverdict: BLOCKED\n---\n\n23 passed\n"
|
||
expected: FAIL
|
||
|
||
- id: TC-04
|
||
type: unit
|
||
description: "result: PASS, но status: failed -> negative авторитетен -> FAIL (AC-03)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\nresult: PASS\nstatus: failed\n---\n\nbody\n"
|
||
expected: FAIL
|
||
|
||
- id: TC-05
|
||
type: unit
|
||
description: "result: ready-to-deploy (positive-токен, без слова PASS) -> PASS (AC-04)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\nresult: ready-to-deploy\n---\n\nbody\n"
|
||
expected: PASS
|
||
|
||
- id: TC-06
|
||
type: unit
|
||
description: "Только verdict: PASS (легаси) -> PASS, без регресса (AC-05)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\nverdict: PASS\nstatus: pass\n---\n\nbody\n"
|
||
expected: PASS
|
||
|
||
- id: TC-07
|
||
type: unit
|
||
description: "verdict: BLOCKED + проза '23 passed' (ET-013 баг) -> FAIL, без регресса (AC-05)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\nverdict: BLOCKED\n---\n\nTests: 23 passed, 0 failed.\n"
|
||
expected: FAIL
|
||
|
||
- id: TC-08
|
||
type: unit
|
||
description: "Ни result, ни verdict, ни status; тело с прозой 'Result: PASS' -> FAIL (AC-06)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\ntype: test-report\nversion: 1\n---\n\nResult: PASS\n"
|
||
expected: FAIL
|
||
|
||
- id: TC-09
|
||
type: unit
|
||
description: "Нет frontmatter, проза 'Result: PASS' -> FAIL (AC-07)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "# Test Report\n\nResult: PASS\nAll tests passed.\n"
|
||
expected: FAIL
|
||
|
||
- id: TC-10
|
||
type: unit
|
||
description: "Битый YAML во frontmatter -> FAIL без исключения, reason про YAML/frontmatter (AC-08)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: "---\nresult: [unclosed\n : : :\n---\n\nbody PASS\n"
|
||
expected: FAIL
|
||
|
||
- id: TC-11
|
||
type: unit
|
||
description: "Файл 13-test-report.md отсутствует -> FAIL, reason 'not found' (AC-09)"
|
||
module: tests/test_qg.py
|
||
fixture_frontmatter: null
|
||
expected: FAIL
|
||
|
||
- id: TC-12
|
||
type: unit
|
||
description: "Реестр QG_CHECKS не изменился -> снапшот зелёный (AC-10)"
|
||
module: tests/test_qg_registry_snapshot.py
|
||
expected: PASS
|
||
|
||
- id: TC-13
|
||
type: integration
|
||
description: "Полный регресс pytest tests/ -q зелёный, существующий TestCheckTestsPassed без правок логики (AC-05, AC-12)"
|
||
module: tests/
|
||
expected: PASS
|