chore: restore original directory structure (project under code-review-graph-main/)
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
"""Tests for the project-review workflow (whole-project / feature scope)."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
|
||||
from fastmcp.prompts.prompt import Message # noqa: E402
|
||||
|
||||
from code_review_graph.prompts import project_review_prompt # noqa: E402
|
||||
|
||||
|
||||
def _text(msg: Message) -> str:
|
||||
return msg.content.text
|
||||
|
||||
|
||||
class TestProjectReviewPromptRendering:
|
||||
def test_whole_project_renders_full_workflow(self):
|
||||
text = _text(project_review_prompt()[0])
|
||||
# Header + shared steps 1-4 must all be present.
|
||||
assert "## Project Review Workflow" in text
|
||||
assert "scope=whole-project" in text
|
||||
assert "1. Call" in text
|
||||
assert "4. Locate high-risk" in text
|
||||
# whole-project branch uses all_files=True.
|
||||
assert "all_files=True" in text
|
||||
assert "get_knowledge_gaps" in text
|
||||
|
||||
def test_feature_renders_feature_branch(self):
|
||||
text = _text(project_review_prompt(scope="feature", target="checkout")[0])
|
||||
assert "scope=feature" in text
|
||||
assert "target=checkout" in text
|
||||
# Shared steps 1-4 must still be present (no truncation).
|
||||
assert "4. Locate high-risk" in text
|
||||
# Feature branch: semantic search + impact radius, not all_files.
|
||||
assert "semantic_search_nodes" in text
|
||||
assert "get_impact_radius" in text
|
||||
assert "all_files=True" not in text
|
||||
|
||||
def test_default_scope_is_whole_project(self):
|
||||
text = _text(project_review_prompt()[0])
|
||||
assert "scope=whole-project" in text
|
||||
|
||||
def test_read_only_present(self):
|
||||
text = _text(project_review_prompt()[0])
|
||||
assert "READ-ONLY" in text
|
||||
|
||||
def test_both_branches_have_preamble(self):
|
||||
assert "get_minimal_context" in _text(project_review_prompt()[0])
|
||||
assert "get_minimal_context" in _text(
|
||||
project_review_prompt(scope="feature", target="auth")[0]
|
||||
)
|
||||
|
||||
def test_both_branches_end_with_report_step(self):
|
||||
whole = _text(project_review_prompt()[0])
|
||||
feat = _text(project_review_prompt(scope="feature", target="x")[0])
|
||||
assert "generate_report" in whole
|
||||
assert "generate_report" in feat
|
||||
Reference in New Issue
Block a user