Merge commit '026c837b919ab4380e8a6e6c052364bbf9bbe8a3' as 'core'
This commit is contained in:
74
core/backend/tests/test_energy.py
Normal file
74
core/backend/tests/test_energy.py
Normal file
@@ -0,0 +1,74 @@
|
||||
import pytest
|
||||
from conftest import auth_header
|
||||
|
||||
|
||||
class TestEnergyHistory:
|
||||
async def test_get_energy_history(self, client, admin_user, admin_token, seed_energy_data):
|
||||
resp = await client.get(
|
||||
"/api/v1/energy/history",
|
||||
params={"granularity": "raw"},
|
||||
headers=auth_header(admin_token),
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
body = resp.json()
|
||||
assert isinstance(body, list)
|
||||
|
||||
async def test_get_energy_history_by_device(self, client, admin_user, admin_token, seed_energy_data, seed_devices):
|
||||
resp = await client.get(
|
||||
"/api/v1/energy/history",
|
||||
params={"device_id": seed_devices[0].id, "granularity": "raw"},
|
||||
headers=auth_header(admin_token),
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
|
||||
async def test_get_energy_history_unauthenticated(self, client):
|
||||
resp = await client.get("/api/v1/energy/history")
|
||||
assert resp.status_code == 401
|
||||
|
||||
|
||||
class TestDailySummary:
|
||||
async def test_get_daily_summary(self, client, admin_user, admin_token, seed_daily_summary):
|
||||
resp = await client.get("/api/v1/energy/daily-summary", headers=auth_header(admin_token))
|
||||
assert resp.status_code == 200
|
||||
body = resp.json()
|
||||
assert isinstance(body, list)
|
||||
|
||||
async def test_get_daily_summary_with_filter(self, client, admin_user, admin_token, seed_daily_summary):
|
||||
resp = await client.get(
|
||||
"/api/v1/energy/daily-summary",
|
||||
params={"energy_type": "electricity"},
|
||||
headers=auth_header(admin_token),
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
|
||||
|
||||
class TestEnergyComparison:
|
||||
async def test_get_energy_comparison(self, client, admin_user, admin_token, seed_daily_summary):
|
||||
resp = await client.get(
|
||||
"/api/v1/energy/comparison",
|
||||
params={"period": "month"},
|
||||
headers=auth_header(admin_token),
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
body = resp.json()
|
||||
assert "current" in body
|
||||
assert "previous" in body
|
||||
assert "yoy" in body
|
||||
assert "mom_change" in body
|
||||
assert "yoy_change" in body
|
||||
|
||||
async def test_get_energy_comparison_day(self, client, admin_user, admin_token, seed_daily_summary):
|
||||
resp = await client.get(
|
||||
"/api/v1/energy/comparison",
|
||||
params={"period": "day"},
|
||||
headers=auth_header(admin_token),
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
|
||||
async def test_get_energy_comparison_year(self, client, admin_user, admin_token, seed_daily_summary):
|
||||
resp = await client.get(
|
||||
"/api/v1/energy/comparison",
|
||||
params={"period": "year"},
|
||||
headers=auth_header(admin_token),
|
||||
)
|
||||
assert resp.status_code == 200
|
||||
Reference in New Issue
Block a user