完善设备端体验与微信校验支持

This commit is contained in:
stu2not
2026-07-07 16:58:05 +08:00
parent b4fef6d2e0
commit 937e3023fc
38 changed files with 3377 additions and 51 deletions

View File

@@ -0,0 +1,39 @@
from datetime import datetime, timedelta
from banban.routers.devices import _row_to_alarm_item
def _alarm_row(created_at: datetime, location_updated_at: datetime):
return {
"alarm_id": 1,
"device_id": "TalkingQ_device001",
"child_id": 2,
"child_name": "测试孩子",
"source_msg_id": "010",
"coord_type": "gcj02",
"lat": 30.245,
"lng": 120.215,
"location_updated_at": location_updated_at,
"address": "浙江省杭州市上城区四季青街道剧院路杭州大剧院",
"address_resolved_at": location_updated_at,
"address_resolve_status": 1,
"created_at": created_at,
}
def test_alarm_location_updated_after_alarm_is_not_stale():
created_at = datetime(2026, 6, 8, 13, 56, 24)
row = _alarm_row(created_at, created_at + timedelta(seconds=2))
item = _row_to_alarm_item(row)
assert item.location_stale is False
def test_alarm_location_far_from_alarm_time_is_stale():
created_at = datetime(2026, 6, 8, 13, 56, 24)
row = _alarm_row(created_at, created_at - timedelta(minutes=20))
item = _row_to_alarm_item(row)
assert item.location_stale is True