test(backend): exerce AlertSeverity comme enum plutot qu'une chaine dans les tests alerts
Backend / Lint, typage et tests (push) Successful in 1m8s
Backend / Lint, typage et tests (push) Successful in 1m8s
Le filtre severity passait par une chaine brute dans les tests, sans jamais exercer le trajet reel AlertSeverity (enum) -> SQLAlchemy -> PostgreSQL.
This commit is contained in:
@@ -10,6 +10,7 @@ from app.api.deps import get_alert_service, get_current_principal
|
|||||||
from app.core.principal import Principal
|
from app.core.principal import Principal
|
||||||
from app.core.roles import AccountKind, Role
|
from app.core.roles import AccountKind, Role
|
||||||
from app.models.energy import Alert
|
from app.models.energy import Alert
|
||||||
|
from app.schemas.alert import AlertSeverity
|
||||||
|
|
||||||
|
|
||||||
def principal(role: Role = Role.LECTEUR) -> Principal:
|
def principal(role: Role = Role.LECTEUR) -> Principal:
|
||||||
@@ -112,7 +113,7 @@ async def test_list_alerts_transmits_the_severity_filter(
|
|||||||
|
|
||||||
await client.get("/api/v1/alerts?severity=critical")
|
await client.get("/api/v1/alerts?severity=critical")
|
||||||
|
|
||||||
assert service.appels == [(None, "critical")]
|
assert service.appels == [(None, AlertSeverity.CRITICAL)]
|
||||||
|
|
||||||
|
|
||||||
async def test_list_alerts_returns_422_for_an_unknown_severity(
|
async def test_list_alerts_returns_422_for_an_unknown_severity(
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ from sqlalchemy.ext.asyncio import AsyncSession
|
|||||||
|
|
||||||
from app.models.energy import Alert
|
from app.models.energy import Alert
|
||||||
from app.repositories.alert import AlertRepository
|
from app.repositories.alert import AlertRepository
|
||||||
|
from app.schemas.alert import AlertSeverity
|
||||||
from tests.repositories.test_site import creer as creer_site
|
from tests.repositories.test_site import creer as creer_site
|
||||||
from tests.repositories.test_site import identifiant as identifiant_site
|
from tests.repositories.test_site import identifiant as identifiant_site
|
||||||
|
|
||||||
@@ -73,7 +74,7 @@ async def test_list_all_filters_by_severity(session: AsyncSession) -> None:
|
|||||||
voulue = await creer_alerte(session, site_id=site.site_id, severity="critical")
|
voulue = await creer_alerte(session, site_id=site.site_id, severity="critical")
|
||||||
await creer_alerte(session, site_id=site.site_id, severity="low")
|
await creer_alerte(session, site_id=site.site_id, severity="low")
|
||||||
|
|
||||||
alertes = await depot.list_all(severity="critical")
|
alertes = await depot.list_all(severity=AlertSeverity.CRITICAL)
|
||||||
identifiants = [a.alert_id for a in alertes]
|
identifiants = [a.alert_id for a in alertes]
|
||||||
await session.rollback()
|
await session.rollback()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user