get_plan_by_uploaded_file_id returns None when plan is absent 🟥

This commit is contained in:
Daniel Roth 2026-05-15 14:32:08 +00:00
parent 0573db1151
commit 84a0b4dfde
2 changed files with 18 additions and 2 deletions

View file

@ -1,4 +1,4 @@
from typing import Any, cast
from typing import Any, Optional, cast
from sqlalchemy import delete, select
from sqlalchemy.dialects.postgresql import insert as pg_insert
@ -14,6 +14,12 @@ from backend.app.db.models.magic_plan import (
)
def get_plan_by_uploaded_file_id(
session: Session, uploaded_file_id: int
) -> Optional[Plan]:
raise NotImplementedError
def save_plan(session: Session, plan: Plan, uploaded_file_id: int) -> None:
plan_id: int = _upsert_plan(session, plan, uploaded_file_id)
_delete_children(session, plan_id)

View file

@ -10,7 +10,10 @@ from datatypes.magicplan.api.response import MagicPlanPlan
from datatypes.magicplan.domain.mapper import map_plan
from datatypes.magicplan.domain.models import Plan
from backend.app.db.functions.magic_plan_functions import save_plan
from backend.app.db.functions.magic_plan_functions import (
get_plan_by_uploaded_file_id,
save_plan,
)
from backend.app.db.models.magic_plan import (
MagicPlanDoorModel,
MagicPlanFloorModel,
@ -95,6 +98,13 @@ def test_save_plan_idempotent(db_session: Session, domain_plan: Plan) -> None:
)
def test_get_plan_returns_none_when_not_found(db_session: Session) -> None:
# Act
result = get_plan_by_uploaded_file_id(db_session, 999)
# Assert
assert result is None
def test_uploaded_file_id_stored_after_save(db_session: Session, domain_plan: Plan) -> None:
# Act
save_plan(db_session, domain_plan, 1)