agent: implement issue #3 - Enhancement: 检查现有的代码框架,确认是否需要优化

This commit is contained in:
2026-05-06 16:13:24 +08:00
parent ee7300e31f
commit 19de4634bc
4 changed files with 90 additions and 18 deletions

View File

@@ -119,6 +119,49 @@ def test_list_open_issues_keeps_normal_issues_with_null_pull_request():
assert [issue.number for issue in issues] == [1]
def test_list_open_issues_reads_all_pages():
seen_pages: list[int] = []
def handler(request: httpx.Request) -> httpx.Response:
assert request.url.path == "/api/v1/repos/acme/service/issues"
page = int(request.url.params["page"])
limit = int(request.url.params["limit"])
seen_pages.append(page)
if page == 1:
return httpx.Response(
200,
json=[
{
"number": number,
"title": f"Issue {number}",
"body": "",
"state": "open",
"labels": [],
}
for number in range(1, limit + 1)
],
)
if page == 2:
return httpx.Response(
200,
json=[
{
"number": 51,
"title": "Issue 51",
"body": "",
"state": "open",
"labels": [],
}
],
)
return httpx.Response(500)
issues = make_client(handler).list_open_issues("acme", "service")
assert [issue.number for issue in issues] == list(range(1, 52))
assert seen_pages == [1, 2]
class FakeWorkspaceManager:
def __init__(self, root: Path, *, diff: bool = True):
self.root = root

View File

@@ -58,3 +58,15 @@ Please add tests.
assert parsed.verdict == "REQUEST_CHANGES"
assert parsed.suggested_pr_comment == "Please add tests."
def test_review_report_parsing_accepts_prompt_bullet_contract():
report = """- Verdict: APPROVE
- Summary: Done
- Suggested PR Comment: Looks good.
"""
parsed = parse_review_report(report)
assert parsed.verdict == "APPROVE"
assert parsed.suggested_pr_comment == "Looks good."