feat(platform): close AI expense value loop
Add tenant-safe value, telemetry, connector, commercial, and production-readiness foundations.
This commit is contained in:
@@ -42,6 +42,7 @@ def test_disposition_reopen_and_approval_share_claim_lock(
|
||||
disposition_id = f"disposition-lock-{suffix}"
|
||||
manager_email = f"manager-{suffix}@example.com"
|
||||
manager_user = CurrentUserContext(
|
||||
tenant_id="default",
|
||||
username=manager_email,
|
||||
name="并发审批经理",
|
||||
role_codes=["manager"],
|
||||
@@ -146,12 +147,14 @@ def _seed_locked_risk_case(
|
||||
) -> None:
|
||||
manager = Employee(
|
||||
id=f"manager-risk-lock-{suffix}",
|
||||
tenant_id="default",
|
||||
employee_no=f"M-RISK-LOCK-{suffix}",
|
||||
name="并发审批经理",
|
||||
email=manager_email,
|
||||
)
|
||||
employee = Employee(
|
||||
id=f"employee-risk-lock-{suffix}",
|
||||
tenant_id="default",
|
||||
employee_no=f"E-RISK-LOCK-{suffix}",
|
||||
name="并发风险员工",
|
||||
email=f"employee-{suffix}@example.com",
|
||||
@@ -160,6 +163,7 @@ def _seed_locked_risk_case(
|
||||
now = datetime.now(UTC)
|
||||
claim = ExpenseClaim(
|
||||
id=claim_id,
|
||||
tenant_id="default",
|
||||
claim_no=f"EXP-RISK-LOCK-{suffix}",
|
||||
employee=employee,
|
||||
employee_name=employee.name,
|
||||
|
||||
Reference in New Issue
Block a user