Files
shanxia2.0/backend/tests/test_pl_vehicle_recharge_mine_vehicles.py
T
2026-09-27 18:23:31 +08:00

99 lines
2.5 KiB
Python

"""mineVehicles:车辆人员归属过滤与写校验。"""
from __future__ import annotations
from datetime import date, datetime
from types import SimpleNamespace
import pytest
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from app.models.pl_models import (
PlPersonnel,
PlVehicle,
PlVehiclePersonnel,
PlVehicleRechargeApply,
)
def _make_session():
engine = create_engine("sqlite://")
for table in (
PlVehicle.__table__,
PlPersonnel.__table__,
PlVehiclePersonnel.__table__,
PlVehicleRechargeApply.__table__,
):
table.create(engine)
return sessionmaker(bind=engine)()
def _user(uid: str = "u-driver") -> SimpleNamespace:
return SimpleNamespace(id=uid, name="司机甲", dept_id="d1", role="driver", tenant_no="t1")
def _seed_person_vehicle(db, *, user_id="u-driver", plate="鄂A11111", vehicle_id="veh-a"):
db.add(
PlVehicle(
id=vehicle_id,
vehicle_type="self",
license_plate=plate,
tenant_no="t1",
create_dept_id="d1",
del_flag=0,
)
)
db.add(
PlPersonnel(
id="p-1",
personnel_name="司机甲",
personnel_type="driver",
personnel_affiliation="self",
status="1",
sys_user_id=user_id,
tenant_no="t1",
create_dept_id="d1",
del_flag=0,
)
)
db.add(
PlVehiclePersonnel(
id="vp-1",
vehicle_id=vehicle_id,
personnel_id="p-1",
role="driver",
is_default=1,
tenant_no="t1",
create_dept_id="d1",
del_flag=0,
)
)
def test_license_plates_for_user_personnel():
from app.services.pl_vehicle_mine_vehicles import license_plates_for_user_personnel
db = _make_session()
_seed_person_vehicle(db)
db.add(
PlVehicle(
id="veh-b",
vehicle_type="self",
license_plate="鄂A22222",
tenant_no="t1",
create_dept_id="d1",
del_flag=0,
)
)
db.commit()
plates = license_plates_for_user_personnel(db, "t1", "u-driver")
assert plates == {"鄂A11111"}
def test_license_plates_empty_when_no_personnel():
from app.services.pl_vehicle_mine_vehicles import license_plates_for_user_personnel
db = _make_session()
db.commit()
assert license_plates_for_user_personnel(db, "t1", "u-nobody") == set()