test(web): update travel request detail tests and styles
- test_reimbursement_endpoints.py: update reimbursement endpoint tests - travel-request-detail-view.css: update travel request detail styles - TravelRequestDetailView.vue: update travel request detail view
This commit is contained in:
@@ -12,7 +12,9 @@ from sqlalchemy.pool import StaticPool
|
||||
from app.api.deps import get_db
|
||||
from app.db.base import Base
|
||||
from app.main import create_app
|
||||
from app.models.employee import Employee
|
||||
from app.models.financial_record import ExpenseClaim, ExpenseClaimItem
|
||||
from app.models.role import Role
|
||||
from app.schemas.ocr import OcrRecognizeBatchRead, OcrRecognizeDocumentRead
|
||||
from app.services.expense_claims import ExpenseClaimService
|
||||
from app.services.ocr import OcrService
|
||||
@@ -44,10 +46,34 @@ def build_client() -> tuple[TestClient, sessionmaker[Session]]:
|
||||
|
||||
|
||||
def seed_claim(db: Session) -> tuple[ExpenseClaim, ExpenseClaimItem]:
|
||||
manager = Employee(
|
||||
id="mgr-1",
|
||||
employee_no="E20001",
|
||||
name="李总",
|
||||
email="manager@example.com",
|
||||
position="市场总监",
|
||||
grade="P7",
|
||||
)
|
||||
role = Role(
|
||||
id="role-user",
|
||||
role_code="user",
|
||||
name="员工",
|
||||
description="普通员工",
|
||||
)
|
||||
employee = Employee(
|
||||
id="emp-1",
|
||||
employee_no="E10001",
|
||||
name="张三",
|
||||
email="zhangsan@example.com",
|
||||
position="招商主管",
|
||||
grade="P4",
|
||||
manager=manager,
|
||||
roles=[role],
|
||||
)
|
||||
claim = ExpenseClaim(
|
||||
id="claim-attachment-1",
|
||||
claim_no="EXP-202605-101",
|
||||
employee_id="emp-1",
|
||||
employee_id=employee.id,
|
||||
employee_name="张三",
|
||||
department_id="dept-1",
|
||||
department_name="市场部",
|
||||
@@ -75,6 +101,9 @@ def seed_claim(db: Session) -> tuple[ExpenseClaim, ExpenseClaimItem]:
|
||||
invoice_id=None,
|
||||
)
|
||||
claim.items = [item]
|
||||
db.add(manager)
|
||||
db.add(role)
|
||||
db.add(employee)
|
||||
db.add(claim)
|
||||
db.commit()
|
||||
return claim, item
|
||||
@@ -302,6 +331,10 @@ def test_claim_item_delete_removes_item_and_attachment(monkeypatch, tmp_path) ->
|
||||
detail_payload = detail_response.json()
|
||||
assert detail_payload["items"] == []
|
||||
assert detail_payload["invoice_count"] == 0
|
||||
assert detail_payload["employee_position"] == "招商主管"
|
||||
assert detail_payload["employee_grade"] == "P4"
|
||||
assert detail_payload["manager_name"] == "李总"
|
||||
assert detail_payload["role_labels"] == ["员工"]
|
||||
|
||||
deleted_meta_response = client.get(
|
||||
f"/api/v1/reimbursements/claims/{claim_id}/items/{item_id}/attachment/meta",
|
||||
|
||||
Reference in New Issue
Block a user