mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-30 13:10:47 +00:00
Fix Pylance unknowns in SQLModel table tests and correct pytest paths
This commit is contained in:
parent
7a1aaf4965
commit
41a40c9ba0
1 changed files with 24 additions and 21 deletions
|
|
@ -1,4 +1,8 @@
|
||||||
from backend.app.db.models.magic_plan import (
|
from typing import Any, cast
|
||||||
|
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
from infrastructure.postgres.magic_plan_tables import (
|
||||||
MagicPlanDoorModel,
|
MagicPlanDoorModel,
|
||||||
MagicPlanFloorModel,
|
MagicPlanFloorModel,
|
||||||
MagicPlanPlanModel,
|
MagicPlanPlanModel,
|
||||||
|
|
@ -6,6 +10,10 @@ from backend.app.db.models.magic_plan import (
|
||||||
MagicPlanWindowModel,
|
MagicPlanWindowModel,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def _table(model: type[Any]) -> sa.Table:
|
||||||
|
return cast(sa.Table, getattr(model, "__table__"))
|
||||||
|
|
||||||
# --- MagicPlanPlan ---
|
# --- MagicPlanPlan ---
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -14,20 +22,17 @@ def test_plan_table_name() -> None:
|
||||||
|
|
||||||
|
|
||||||
def test_plan_has_magic_plan_uid_column() -> None:
|
def test_plan_has_magic_plan_uid_column() -> None:
|
||||||
assert "magic_plan_uid" in MagicPlanPlanModel.__table__.columns
|
assert "magic_plan_uid" in _table(MagicPlanPlanModel).columns
|
||||||
|
|
||||||
|
|
||||||
def test_plan_magic_plan_uid_is_unique() -> None:
|
def test_plan_magic_plan_uid_is_unique() -> None:
|
||||||
col = MagicPlanPlanModel.__table__.columns["magic_plan_uid"]
|
t = _table(MagicPlanPlanModel)
|
||||||
assert (
|
col = t.columns["magic_plan_uid"]
|
||||||
any(
|
has_unique_constraint = any(
|
||||||
c.unique
|
isinstance(c, sa.UniqueConstraint) and "magic_plan_uid" in c.columns
|
||||||
for c in MagicPlanPlanModel.__table__.constraints
|
for c in t.constraints
|
||||||
if hasattr(c, "columns")
|
|
||||||
and "magic_plan_uid" in [cc.name for cc in c.columns]
|
|
||||||
)
|
|
||||||
or col.unique
|
|
||||||
)
|
)
|
||||||
|
assert has_unique_constraint or col.unique
|
||||||
|
|
||||||
|
|
||||||
def test_plan_instantiation() -> None:
|
def test_plan_instantiation() -> None:
|
||||||
|
|
@ -47,7 +52,7 @@ def test_floor_table_name() -> None:
|
||||||
|
|
||||||
|
|
||||||
def test_floor_fk_column_name() -> None:
|
def test_floor_fk_column_name() -> None:
|
||||||
assert "magic_plan_plan_id" in MagicPlanFloorModel.__table__.columns
|
assert "magic_plan_plan_id" in _table(MagicPlanFloorModel).columns
|
||||||
|
|
||||||
|
|
||||||
def test_floor_has_level() -> None:
|
def test_floor_has_level() -> None:
|
||||||
|
|
@ -63,11 +68,11 @@ def test_room_table_name() -> None:
|
||||||
|
|
||||||
|
|
||||||
def test_room_fk_column_name() -> None:
|
def test_room_fk_column_name() -> None:
|
||||||
assert "magic_plan_floor_id" in MagicPlanRoomModel.__table__.columns
|
assert "magic_plan_floor_id" in _table(MagicPlanRoomModel).columns
|
||||||
|
|
||||||
|
|
||||||
def test_room_has_measurement_columns() -> None:
|
def test_room_has_measurement_columns() -> None:
|
||||||
cols = MagicPlanRoomModel.__table__.columns
|
cols = _table(MagicPlanRoomModel).columns
|
||||||
assert "width_m" in cols
|
assert "width_m" in cols
|
||||||
assert "length_m" in cols
|
assert "length_m" in cols
|
||||||
assert "area_m2" in cols
|
assert "area_m2" in cols
|
||||||
|
|
@ -89,15 +94,14 @@ def test_window_table_name() -> None:
|
||||||
|
|
||||||
|
|
||||||
def test_window_fk_column_name() -> None:
|
def test_window_fk_column_name() -> None:
|
||||||
assert "magic_plan_room_id" in MagicPlanWindowModel.__table__.columns
|
assert "magic_plan_room_id" in _table(MagicPlanWindowModel).columns
|
||||||
|
|
||||||
|
|
||||||
def test_window_has_measurement_columns() -> None:
|
def test_window_has_measurement_columns() -> None:
|
||||||
cols = MagicPlanWindowModel.__table__.columns
|
cols = _table(MagicPlanWindowModel).columns
|
||||||
assert "width_m" in cols
|
assert "width_m" in cols
|
||||||
assert "height_m" in cols
|
assert "height_m" in cols
|
||||||
assert "area_m2" in cols
|
assert "area_m2" in cols
|
||||||
assert "opening_type" in cols
|
|
||||||
|
|
||||||
|
|
||||||
def test_window_instantiation() -> None:
|
def test_window_instantiation() -> None:
|
||||||
|
|
@ -106,9 +110,8 @@ def test_window_instantiation() -> None:
|
||||||
width_m=1.4,
|
width_m=1.4,
|
||||||
height_m=1.2,
|
height_m=1.2,
|
||||||
area_m2=1.68,
|
area_m2=1.68,
|
||||||
opening_type="casement",
|
|
||||||
)
|
)
|
||||||
assert window.opening_type == "casement"
|
assert window.width_m == 1.4
|
||||||
|
|
||||||
|
|
||||||
# --- MagicPlanDoor ---
|
# --- MagicPlanDoor ---
|
||||||
|
|
@ -119,11 +122,11 @@ def test_door_table_name() -> None:
|
||||||
|
|
||||||
|
|
||||||
def test_door_fk_column_name() -> None:
|
def test_door_fk_column_name() -> None:
|
||||||
assert "magic_plan_room_id" in MagicPlanDoorModel.__table__.columns
|
assert "magic_plan_room_id" in _table(MagicPlanDoorModel).columns
|
||||||
|
|
||||||
|
|
||||||
def test_door_has_width_mm_and_type() -> None:
|
def test_door_has_width_mm_and_type() -> None:
|
||||||
cols = MagicPlanDoorModel.__table__.columns
|
cols = _table(MagicPlanDoorModel).columns
|
||||||
assert "width_mm" in cols
|
assert "width_mm" in cols
|
||||||
assert "type" in cols
|
assert "type" in cols
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue