mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
refactor: 收口 V3 分层架构与插件兼容边界
This commit is contained in:
@@ -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 = []
|
||||
|
||||
Reference in New Issue
Block a user