refactor: replace Any types with specific types and update bad_code.md
- Replace Any with object or specific types across codebase - Add ReviewRequest dataclass for PR review payloads - Update bad_code.md: mark 5.1 (Any Type Overuse) as resolved - Fix summary table with accurate counts and unresolved issues list
This commit is contained in:
@@ -9,7 +9,6 @@ from gitea.tools.coding_tools import CodingTools
|
||||
from core.dispatcher import AgentDispatcher
|
||||
from core.queue import WorkItem
|
||||
from gitea.client import GiteaClient
|
||||
from gitea.tools.gitea_tools import GiteaTools
|
||||
from gitea.models import IssueModel, PullRequestModel
|
||||
|
||||
pytestmark = pytest.mark.anyio
|
||||
@@ -96,12 +95,16 @@ def test_run_verification_failure(tmp_path: Path) -> None:
|
||||
@patch("core.dispatcher.CodingAgent")
|
||||
@patch("core.dispatcher.PlanningAgent")
|
||||
async def test_dispatch_planning_and_coding_phases(mock_planning_class: MagicMock, mock_coding_class: MagicMock) -> None:
|
||||
mock_client: MagicMock = MagicMock(spec=GiteaClient)
|
||||
mock_tools: MagicMock = MagicMock(spec=GiteaTools)
|
||||
mock_client: MagicMock = MagicMock()
|
||||
|
||||
# Mock sub-clients
|
||||
mock_client.prs = MagicMock()
|
||||
mock_client.issues = MagicMock()
|
||||
mock_client.notifications = MagicMock()
|
||||
|
||||
# Mock no existing PRs
|
||||
mock_client.list_repo_pull_requests.return_value = []
|
||||
mock_client.get_issue_comments.return_value = []
|
||||
mock_client.prs.list_repo_pull_requests.return_value = []
|
||||
mock_client.issues.get_issue_comments.return_value = []
|
||||
|
||||
from gitea.models import UserModel
|
||||
mock_client.get_authenticated_user.return_value = UserModel(login="unknown-ai")
|
||||
@@ -110,13 +113,14 @@ async def test_dispatch_planning_and_coding_phases(mock_planning_class: MagicMoc
|
||||
number=42,
|
||||
title="fix bug",
|
||||
body="bug details",
|
||||
user=UserModel(login="unknown-ai")
|
||||
user=UserModel(login="unknown-ai"),
|
||||
requested_reviewers=[UserModel(login="unknown-ai")],
|
||||
)
|
||||
mock_client.get_pull_request.return_value = mock_pr
|
||||
mock_client.get_pull_request_diff.return_value = "diff"
|
||||
mock_client.get_pull_request_comments.return_value = []
|
||||
mock_client.get_pull_request_files.return_value = []
|
||||
mock_client.get_pr_reviews.return_value = []
|
||||
mock_client.prs.get_pull_request.return_value = mock_pr
|
||||
mock_client.prs.get_pull_request_diff.return_value = "diff"
|
||||
mock_client.prs.get_pull_request_comments.return_value = []
|
||||
mock_client.prs.get_pull_request_files.return_value = []
|
||||
mock_client.prs.get_pr_reviews.return_value = []
|
||||
|
||||
# Mock agent instances
|
||||
mock_planning_agent = MagicMock()
|
||||
@@ -127,7 +131,18 @@ async def test_dispatch_planning_and_coding_phases(mock_planning_class: MagicMoc
|
||||
mock_coding_agent.run_with_tools = AsyncMock(return_value="PR #1 Created")
|
||||
mock_coding_class.return_value = mock_coding_agent
|
||||
|
||||
dispatcher = AgentDispatcher(client=mock_client, tools=mock_tools)
|
||||
from gitea.tools.issue_tools import IssueTools
|
||||
from gitea.tools.pr_tools import PRTools
|
||||
from gitea.tools.file_tools import FileTools
|
||||
from gitea.tools.git_tools import GitTools
|
||||
|
||||
dispatcher = AgentDispatcher(
|
||||
client=mock_client,
|
||||
issue_tools=IssueTools(mock_client),
|
||||
pr_tools=PRTools(mock_client),
|
||||
file_tools=FileTools(mock_client),
|
||||
git_tools=GitTools(mock_client),
|
||||
)
|
||||
|
||||
work_item = WorkItem(
|
||||
repo_full_name="meeks/repo1",
|
||||
|
||||
Reference in New Issue
Block a user