added refference point

This commit is contained in:
2026-06-25 11:04:21 +03:00
parent cd82244dcd
commit b5258b4f82
23 changed files with 1922 additions and 3 deletions
+68
View File
@@ -110,3 +110,71 @@ def test_tracks_crud(temp_db):
assert fin["point_count"] == 1
track = storage.get_track(tid)
assert len(track["points"]) == 1
def test_reference_point_session_stats(temp_db):
storage.init_db()
start = storage.start_reference_point_session(
"android-12345678", "yard", 55.75, 37.62
)
sid = start["session_id"]
added = storage.add_reference_point_samples(
sid,
[
{
"ts": 1.0,
"lat": 55.75,
"lon": 37.62,
"role": "RX",
"meta": {"per_percent": 10, "rx_quality_percent": 80},
"preset_id": "sf7",
},
{
"ts": 2.0,
"lat": 55.75,
"lon": 37.62,
"role": "RX",
"meta": {"per_percent": 20, "rx_quality_percent": 90},
"preset_id": "sf7",
},
{
"ts": 3.0,
"lat": 55.75,
"lon": 37.62,
"role": "RX",
"meta": {"per_percent": 30, "rx_quality_percent": 100},
"preset_id": "sf9",
},
],
)
assert added["added"] == 3
storage.finish_reference_point_session(sid)
session = storage.get_reference_point_session(sid)
assert session["sample_count"] == 3
assert session["stats"]["per_percent"]["p50"] == 20
assert session["stats"]["per_percent"]["p75"] == 25
assert session["stats"]["rx_quality_percent"]["p90"] == 98
assert session["stats"]["by_preset"]["sf7"]["per_percent"]["count"] == 2
def test_macro_presets_crud(temp_db):
storage.init_db()
result = storage.upsert_macro_preset(
"SF7 Test",
"SF7 Test",
"baseline",
params={"sf": 7, "bw_khz": "125"},
lines=["S", "AT+SF=7"],
device_role="RX",
)
preset = result["preset"]
assert preset["id"] == "sf7-test"
assert preset["params"]["sf"] == 7
listed = storage.list_macro_presets()
assert len(listed) == 1
assert listed[0]["lines"] == ["S", "AT+SF=7"]
storage.delete_macro_preset("sf7-test")
assert storage.list_macro_presets() == []