agent: implement issue #3 - Enhancement: 检查现有的代码框架,确认是否需要优化
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user