Files
mi-fitness-health/tests/test_storage_query.py
Aleksej Kubulashvili df914ea56a feat: prepare mi-fitness-mcp for first public release
Package the standalone Mi Fitness MCP with clearer public docs, release metadata, CI, and safer local repository hygiene so it is ready to publish without secrets or work identity leakage.
2026-03-12 14:12:49 +03:00

48 lines
1.4 KiB
Python

from datetime import datetime
from mi_fitness_mcp.models import BodyMeasurement, DailyActivity, HeartRateSample
from mi_fitness_mcp.services.query_service import QueryService
from mi_fitness_mcp.storage import Database
def test_storage_and_query_roundtrip(tmp_path):
db = Database(tmp_path / "test.db")
activity = DailyActivity(
id="a1",
provider="mi_fitness",
source_type="cloud_session",
user_id="u1",
date="2025-04-01",
steps=1000,
distance_m=800,
active_kcal=50,
)
hr = HeartRateSample(
id="hr1",
provider="mi_fitness",
source_type="cloud_session",
user_id="u1",
timestamp=datetime(2025, 4, 1, 12, 0, 0),
bpm=70,
sample_type="passive",
)
body = BodyMeasurement(
id="w1",
provider="mi_fitness",
source_type="cloud_session",
user_id="u1",
timestamp=datetime(2025, 4, 1, 7, 0, 0),
weight_kg=101.5,
bmi=28.0,
)
db.insert_daily_activity(activity)
db.insert_heart_rate_sample(hr)
db.insert_body_measurement(body)
query = QueryService(db, "u1")
assert len(query.get_daily_summaries("2025-04-01", "2025-04-01")) == 1
assert len(query.get_heart_rate_samples("2025-04-01", "2025-04-01")) == 1
assert len(query.get_body_measurements("2025-04-01", "2025-04-01")) == 1