mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2026-10-10 08:26:38 +00:00
25 lines
981 B
Python
25 lines
981 B
Python
"""Verify fallback JSON loading does not lose records through the singleton."""
|
|
from unittest.mock import AsyncMock
|
|
import pytest
|
|
from akkudoktoreos.core.coreabc import get_measurement
|
|
from akkudoktoreos.core.dataabc import DataSequence
|
|
|
|
@pytest.mark.asyncio
|
|
async def test_measurement_json_roundtrip(config_eos, tmp_path, monkeypatch):
|
|
m = get_measurement()
|
|
config_eos.measurement.load_emr_keys = ["meter"]
|
|
config_eos.general.data_folder_path = tmp_path
|
|
config_eos.database.provider = None
|
|
m._db_reset_state()
|
|
try:
|
|
await m.update_value("2026-09-16T08:00:00Z", "meter", 123.5)
|
|
monkeypatch.setattr(DataSequence, "save", AsyncMock(return_value=False))
|
|
monkeypatch.setattr(DataSequence, "load", AsyncMock(return_value=False))
|
|
assert await m.save()
|
|
m._db_reset_state()
|
|
assert await m.load()
|
|
assert len(m.records) == 1
|
|
assert m.records[0]["meter"] == 123.5
|
|
finally:
|
|
m._db_reset_state()
|