feat(Q5): package event queries and tracker state machine

Add insert/get/update queries for package_events table, and
notification content for PACKAGE_DELIVERED and PACKAGE_REMINDER events.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Aaron D. Lee
2026-04-03 18:47:40 -04:00
parent 31757f410a
commit cdc13e05f6
3 changed files with 53 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
import time
import pytest
from vigilar.storage.queries import insert_package_event, get_active_packages, update_package_status
def test_insert_package_event(test_db):
pkg_id = insert_package_event(test_db, camera_id="front", detected_at=time.time(), status="PRESENT")
assert pkg_id > 0
def test_get_active_packages(test_db):
now = time.time()
insert_package_event(test_db, camera_id="front", detected_at=now, status="PRESENT")
insert_package_event(test_db, camera_id="back", detected_at=now, status="COLLECTED")
active = get_active_packages(test_db)
assert len(active) == 1
assert active[0]["camera_id"] == "front"
def test_update_package_status(test_db):
pkg_id = insert_package_event(test_db, camera_id="front", detected_at=time.time(), status="PRESENT")
update_package_status(test_db, pkg_id, "REMINDED", reminded_at=time.time())
active = get_active_packages(test_db)
assert active[0]["status"] == "REMINDED"