All checks were successful
技能自动化发布 / release (push) Successful in 15s
基于 skill-template 脚手架开发,包含: - 5 张业务表(教职工、请假政策、考勤日历、请假记录、假期余额) - 请假核算引擎(扣薪计算、审批层级判定、年假抵扣) - CLI 入口(import-employees / calculate-leave / render-html) - HTML 审批与扣薪报告生成 - 示例数据与完整测试套件(295 tests passed)
37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
"""mock / unit 档位:不启动浏览器。"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import time
|
|
from typing import List
|
|
|
|
from service.adapter.base import BatchAdapterBase, BatchItem, BatchSubmitResult
|
|
|
|
|
|
class MockBatchAdapter(BatchAdapterBase):
|
|
name = "mock"
|
|
|
|
async def submit_batch(self, target: str, items: List[BatchItem]) -> BatchSubmitResult:
|
|
del target
|
|
if not items:
|
|
return BatchSubmitResult(
|
|
ok=False,
|
|
batch_id=None,
|
|
submitted_count=0,
|
|
submitted_amount=0.0,
|
|
error_msg="items 为空",
|
|
artifacts={"adapter": self.name},
|
|
)
|
|
|
|
time.sleep(0.05)
|
|
total = sum(it.amount for it in items)
|
|
fake_batch_id = f"MOCK-{int(time.time())}"
|
|
return BatchSubmitResult(
|
|
ok=True,
|
|
batch_id=fake_batch_id,
|
|
submitted_count=len(items),
|
|
submitted_amount=total,
|
|
error_msg=None,
|
|
artifacts={"adapter": self.name},
|
|
)
|