fix(backend): repare ce que la CI a trouve sur les tests de derive
Deux causes distinctes, toutes deux invisibles sans base. `creer_lecture` ne posait pas `consumption_kwh` : l'override etait ignore en silence, la colonne restait nulle, et la jointure de derive, qui ecarte les lectures sans mesure, ne trouvait donc aucune paire. Le helper accepte desormais ce champ, nul par defaut, ce qui ne change rien pour les dix fichiers qui l'utilisent deja. `test_the_operator_rank_opens_nothing_more_than_the_reader_rank` figeait l'egalite des deux rangs en annoncant, dans son propre commentaire, qu'il devait sonner « le jour ou une route d'operateur arrive ». Ce jour est arrive avec `GET /monitoring/drift`. Le test compare maintenant chaque route a ce que `ROLE_MINIMUM` lui reserve : il continue d'attraper une route d'operateur ajoutee sans etre classee, et attrape en plus une garde d'operateur posee par erreur sur une route de lecture.
This commit is contained in:
@@ -33,6 +33,9 @@ async def creer_lecture(session: AsyncSession, *, site_id: str, **overrides: obj
|
||||
timestamp=overrides.get("timestamp", datetime(2026, 9, 16, tzinfo=UTC)),
|
||||
source=overrides.get("source", "api_current"),
|
||||
consumption_kw=overrides.get("consumption_kw", 10.0),
|
||||
# Nul par defaut : seules les mesures en kWh alimentent la comparaison prevu/realise, et
|
||||
# un override silencieusement ignore laissait la colonne vide sans que rien ne le dise.
|
||||
consumption_kwh=overrides.get("consumption_kwh"),
|
||||
data_quality=overrides.get("data_quality", "good"),
|
||||
raw_data=overrides.get("raw_data", {}),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user