idea143-crisisguard-federat.../tests/test_adapters.py

20 lines
1.0 KiB
Python

import json
from crisisguard.core import LocalPlan, PlanDelta
from crisisguard.adapters import supply_chain_optimizer, shelter_planner
def test_adapter_supply_chain_process_updates_plan():
base = LocalPlan(plan_id="LP1", neighborhood="N1", contents={"shelter": {"capacity": 5}, "medical": {"stock": 20}})
delta = PlanDelta(delta_id="D1", base_plan_id=base.plan_id, updates={"shelter": {"capacity": 7}}, author="tester")
updated = supply_chain_optimizer.process(base, delta)
assert updated.contents["shelter"]["capacity"] == 7
assert updated.version == base.version + 1
def test_adapter_shelter_planner_process_updates_shelter_only():
base = LocalPlan(plan_id="LP2", neighborhood="N2", contents={"shelter": {"capacity": 10, "beds": 20}})
delta = PlanDelta(delta_id="D2", base_plan_id=base.plan_id, updates={"shelter": {"beds": 25}}, author="tester")
updated = shelter_planner.process(base, delta)
assert updated.contents["shelter"]["beds"] == 25
assert updated.version == base.version + 1