| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- """首页「ETC/油卡充值发放管理」角标统计全部待发放申请(ETC + 油卡)。"""
- from datetime import date
- from sqlalchemy import create_engine
- from sqlalchemy.orm import sessionmaker
- from app.models.pl_models import PlVehicleRechargeApply
- from app.services.pl_menu_badge_service import (
- MENU_CODE_RECHARGE_RECORD,
- build_menu_badge_counts,
- )
- def test_recharge_record_badge_counts_all_pending(monkeypatch):
- engine = create_engine("sqlite://")
- PlVehicleRechargeApply.__table__.create(engine)
- db = sessionmaker(bind=engine)()
- def add(row_id: str, recharge_type: str, status: str) -> None:
- db.add(
- PlVehicleRechargeApply(
- id=row_id,
- apply_no=f"NO-{row_id}",
- license_plate="鄂A00001",
- recharge_type=recharge_type,
- apply_date=date(2026, 9, 1),
- applicant_id="u1",
- status=status,
- tenant_no="t1",
- create_dept_id="d1",
- )
- )
- for index in range(6):
- add(f"fuel-{index}", "fuel", "pending")
- add("etc-done", "etc", "disbursed")
- add("etc-wait", "etc", "pending")
- db.commit()
- monkeypatch.setattr(
- "app.services.pl_menu_badge_service.apply_pl_scope",
- lambda query, *_args, **_kwargs: query,
- )
- counts = build_menu_badge_counts(
- db,
- tenant_no="t1",
- user=object(),
- user_id="u1",
- menu_codes=[MENU_CODE_RECHARGE_RECORD],
- )
- # 6 fuel pending + 1 etc pending
- assert counts[MENU_CODE_RECHARGE_RECORD] == 7
|