feat: add get_steps and get_daily_stats tools
This commit is contained in:
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user