完善设备端体验与微信校验支持
This commit is contained in:
39
talkingq-url/tests/test_alarm_location_stale.py
Normal file
39
talkingq-url/tests/test_alarm_location_stale.py
Normal 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
|
||||
Reference in New Issue
Block a user