test: fix tests after changing schema and

ref: N25B-299
This commit is contained in:
Twirre Meulenbelt
2025-11-24 20:53:53 +01:00
parent 3f22b854a7
commit 54502e441c
6 changed files with 74 additions and 58 deletions

View File

@@ -1,49 +1,52 @@
import pytest
from pydantic import ValidationError
from control_backend.schemas.program import Goal, Norm, Phase, PhaseData, Program, Trigger
from control_backend.schemas.program import (
Goal,
KeywordTrigger,
Norm,
Phase,
Program,
TriggerKeyword,
)
def base_norm() -> Norm:
return Norm(
id="norm1",
name="testNorm",
value="you should act nice",
label="testNorm",
norm="testNormNorm",
)
def base_goal() -> Goal:
return Goal(
id="goal1",
name="testGoal",
description="you should act nice",
label="testGoal",
description="testGoalDescription",
achieved=False,
)
def base_trigger() -> Trigger:
return Trigger(
def base_trigger() -> KeywordTrigger:
return KeywordTrigger(
id="trigger1",
label="testTrigger",
type="keyword",
value=["Stop", "Exit"],
)
def base_phase_data() -> PhaseData:
return PhaseData(
norms=[base_norm()],
goals=[base_goal()],
triggers=[base_trigger()],
type="keywords",
keywords=[
TriggerKeyword(id="keyword1", keyword="testKeyword1"),
TriggerKeyword(id="keyword1", keyword="testKeyword2"),
],
)
def base_phase() -> Phase:
return Phase(
id="phase1",
name="basephase",
nextPhaseId="phase2",
phaseData=base_phase_data(),
label="basephase",
norms=[base_norm()],
goals=[base_goal()],
triggers=[base_trigger()],
)
@@ -65,7 +68,7 @@ def test_valid_program():
program = base_program()
validated = Program.model_validate(program)
assert isinstance(validated, Program)
assert validated.phases[0].phaseData.norms[0].name == "testNorm"
assert validated.phases[0].norms[0].norm == "testNormNorm"
def test_valid_deepprogram():
@@ -73,10 +76,9 @@ def test_valid_deepprogram():
validated = Program.model_validate(program)
# validate nested components directly
phase = validated.phases[0]
assert isinstance(phase.phaseData, PhaseData)
assert isinstance(phase.phaseData.goals[0], Goal)
assert isinstance(phase.phaseData.triggers[0], Trigger)
assert isinstance(phase.phaseData.norms[0], Norm)
assert isinstance(phase.goals[0], Goal)
assert isinstance(phase.triggers[0], KeywordTrigger)
assert isinstance(phase.norms[0], Norm)
def test_invalid_program():