Files
agent-manager/tests/test_rendering_workspace.py

61 lines
1.6 KiB
Python

from __future__ import annotations
from agent_gitea.rendering import (
parse_review_report,
render_implementer_prompt,
render_pr_body,
)
from agent_gitea.workspace import safe_branch_name
def test_branch_name_is_stable_and_safe(db):
repo = db.upsert_repository(owner="acme", name="service", clone_url="x", default_branch="main", enabled=True)
issue = db.upsert_issue(
repo_id=repo.id,
issue_number=42,
title="Fix API: handle NULL / spaces!",
body="",
labels=["agent:ready"],
state="open",
html_url="url",
)
assert safe_branch_name(issue) == "agent/issue-42-fix-api-handle-null-spaces"
def test_prompt_and_pr_body_include_contract_sections(db):
repo = db.upsert_repository(owner="acme", name="service", clone_url="x", default_branch="main", enabled=True)
issue = db.upsert_issue(
repo_id=repo.id,
issue_number=7,
title="Add thing",
body="Please add thing",
labels=["agent:ready"],
state="open",
html_url="url",
)
prompt = render_implementer_prompt(repo, issue, "agent/issue-7-add-thing")
body = render_pr_body(issue, "## Summary\nDone")
assert "AGENT_IMPLEMENTATION_REPORT.md" in prompt
assert "Closes #7" in body
assert "Human Review Gate" in body
def test_review_report_parsing_extracts_verdict_and_comment():
report = """## Verdict
REQUEST_CHANGES
## Summary
Needs work
## Suggested PR Comment
Please add tests.
"""
parsed = parse_review_report(report)
assert parsed.verdict == "REQUEST_CHANGES"
assert parsed.suggested_pr_comment == "Please add tests."