refactor: 收口 V3 分层架构与插件兼容边界

This commit is contained in:
jxxghp
2026-08-18 13:22:02 +08:00
parent cca99bd421
commit 8472bcff43
274 changed files with 10730 additions and 6130 deletions
+18
View File
@@ -6,6 +6,7 @@ import pytest
from app.application.workflow import (
WorkflowDefinitionCommand,
WorkflowMutationCommand,
WorkflowQueryService,
)
@@ -43,6 +44,23 @@ def _command(workflow=None, commit_error=None):
return WorkflowMutationCommand(**dependencies), dependencies
@pytest.mark.asyncio
async def test_workflow_query_service_delegates_list_and_get_to_repository():
"""工作流查询服务只调用读取端口,不持有数据库会话或事务。"""
repository = Mock()
repository.async_list = AsyncMock(return_value=[_workflow()])
repository.async_get = AsyncMock(return_value=_workflow())
service = WorkflowQueryService(repository)
listed = await service.list()
fetched = await service.get(7)
assert listed == repository.async_list.return_value
assert fetched == repository.async_get.return_value
repository.async_list.assert_awaited_once_with()
repository.async_get.assert_awaited_once_with(7)
def test_start_timer_workflow_commits_before_registering_job():
"""启用定时工作流必须先提交 W 状态,再登记定时任务。"""
calls = []