Step 6 implemented

This commit is contained in:
Jim Lancaster
2026-06-25 11:08:26 -05:00
parent 759c8c2739
commit 643c523ed4
7 changed files with 293 additions and 36 deletions
+61
View File
@@ -0,0 +1,61 @@
"""Requirement-to-test traceability checks for MVP in-scope requirements."""
from pathlib import Path
import pytest
MVP_REQUIREMENT_TEST_MAP: dict[str, list[str]] = {
"REQ-0": [
"tests/integration/test_pipeline_flow.py",
],
"REQ-1": [
"tests/services/test_upload.py",
"tests/ui/test_upload_page.py",
],
"REQ-2": [
"tests/services/test_worker.py",
"tests/integration/test_pipeline_flow.py",
],
"REQ-3": [
"tests/services/test_worker.py",
"tests/ui/test_jobs_page.py",
],
"REQ-4": [
"tests/services/test_worker.py",
"tests/integration/test_pipeline_flow.py",
],
"REQ-5": [
"tests/ui/test_jobs_page.py",
"tests/ui/test_pages_registration.py",
],
"REQ-6": [
"tests/test_app.py",
"tests/services/test_worker.py",
],
"REQ-8": [
"tests/test_app.py",
"tests/test_config.py",
],
"REQ-12": [
"tests/test_prompts.py",
"tests/services/test_transcription.py",
],
}
@pytest.mark.integration
class TestMvpRequirementTraceability:
"""Verify MVP in-scope requirements are mapped to executable tests."""
def test_mvp_requirements_have_mapped_test_targets(self):
"""Each MVP in-scope REQ id maps to at least one existing test path."""
project_root = Path(__file__).resolve().parents[1]
assert MVP_REQUIREMENT_TEST_MAP
for requirement_id, mapped_tests in MVP_REQUIREMENT_TEST_MAP.items():
assert requirement_id.startswith("REQ-")
assert mapped_tests, f"No mapped tests for {requirement_id}"
for relative_path in mapped_tests:
test_path = project_root / relative_path
assert test_path.exists(), f"Missing mapped test file for {requirement_id}: {relative_path}"