feat: add get_steps and get_daily_stats tools

This commit is contained in:
Christophe Vila
2026-05-17 19:50:36 +02:00
parent 9c46a531f3
commit ccfdbbaa86
2 changed files with 69 additions and 0 deletions

View File

@@ -212,3 +212,38 @@ def test_health_tools_unauthenticated():
for fn in (server.get_sleep, server.get_heart_rate, server.get_stress,
server.get_body_battery, server.get_hrv, server.get_spo2):
assert "Not authenticated" in fn("2026-05-17")
def test_get_steps_success():
server._auth_state = "authenticated"
server._client = MagicMock()
server._client.get_steps_data.return_value = [{"steps": 8342, "primaryActivityLevel": "active"}]
data = json.loads(server.get_steps("2026-05-17"))
assert data[0]["steps"] == 8342
server._client.get_steps_data.assert_called_once_with("2026-05-17")
def test_get_steps_no_data():
server._auth_state = "authenticated"
server._client = MagicMock()
server._client.get_steps_data.return_value = []
assert server.get_steps("2026-05-17") == "No steps data found for 2026-05-17"
def test_get_daily_stats_success():
server._auth_state = "authenticated"
server._client = MagicMock()
server._client.get_stats.return_value = {
"totalSteps": 9231,
"totalKilocalories": 2100.0,
"floorsAscended": 5,
}
data = json.loads(server.get_daily_stats("2026-05-17"))
assert data["totalSteps"] == 9231
server._client.get_stats.assert_called_once_with("2026-05-17")
def test_steps_and_stats_unauthenticated():
server._auth_state = "unauthenticated"
for fn in (server.get_steps, server.get_daily_stats):
assert "Not authenticated" in fn("2026-05-17")