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:
21
tests/unit/test_package_queries.py
Normal file
21
tests/unit/test_package_queries.py
Normal 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"
|
||||
Reference in New Issue
Block a user