api : le tableau de bord quitte entièrement les fixtures (#179) #195
No reviewers
Labels
No labels
Compat/Breaking
EC01
EC02
EC03
EC04
EC05
EC06
Kind/BDD
Kind/Back
Kind/Bug
Kind/CICD
Kind/Cloud
Kind/Contenu
Kind/Data
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Front
Kind/IA
Kind/Infra
Kind/Monitoring
Kind/Security
Kind/Testing
Portée/Post-jury
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
ops/alerte
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
g2/enervision!195
Loading…
Reference in a new issue
No description provided.
Delete branch "lenaic/179-reste-des-fixtures"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Ferme #179.
repository.pyne lit plusfixtures.pydu tout : trente et un renvois hier matin, dix ce midi, zéro maintenant.Ce qui devient réel
Mesuré contre
enervision_prod, pas déduit :taux_de_charge_pctetpalierdeviennent vrais d'eux-mêmes : ce sont des propriétés dérivées de la consommation.Le champ le plus visible était
derniere_releve. L'écran affichait le 1er septembre pendant que la relève tournait à la minute et que la base portait 88 440 lignes pour le seul SITE001. Sur un tableau de bord, la première chose qu'on regarde est l'heure.Deux champs deviennent facultatifs, de bout en bout
derniere_releve: un site du référentiel jamais mesuré n'en a pas. Lui en inventer une serait pire que de ne rien afficher, et le masquer donnerait un parc plus petit que le parc, plausible donc invisible. Le front rend un tiret —formaterHeure(null)valait01:00, une heure plausible et fausse.consommation_veille_kw: le seau de la veille peut manquer.ecart_veille_pctrend alorsNone, et aussi quand la veille vaut zéro : un parc à l'arrêt ne donne pas un écart infini, il ne donne pas d'écart du tout.Une constante reste, et c'est délibéré
DISPONIBILITE_CIBLE_PCTsort defixtures.pymais reste écrite dans le module. Ce n'est pas une donnée, c'est un objectif d'équipe qu'aucune table ne porte. C'était son voisinage avec des valeurs inventées qui la rendait suspecte, pas sa nature.Trois doubles de test corrigés, et chacun cachait un défaut
FakeCurseurrendait ses lignes quelle que soit la requête. Il rendait donc les prévisions à qui demandait le référentiel.CurseurDoubleexigeait son second argument alors que psycopg le rend facultatif. Le double était plus strict que ce qu'il double.Les fixtures restent, à leur place : le jeu d'essai. Les sept sites, le site muet et les quatre paliers sont inchangés pour les cas, et c'est le point — aucun d'eux n'a eu à bouger, ce qui était le pari du module.
Preuve
Ce que ça ne fait pas
L'écran ne se rafraîchit pas tout seul. Le front charge sur
onMountedet il n'y a aucunsetInterval: les valeurs sont celles du chargement de la page. C'était déjà vrai avec les fixtures, ça se remarque maintenant que les données bougent. À traiter à part, ce n'est pas ce ticket.repository.py ne lit plus fixtures.py DU TOUT. Il en portait trente et un renvois hier matin, dix ce midi, zéro maintenant. Ce qui devient réel, et la mesure côté production : consommation_kw 176,220 kW au lieu de 104,0 figé derniere_releve 10h59 aujourd'hui au lieu du 1er septembre 16h42 disponibilite_pct 80,6 % lu dans qualite_jour imputation_pct dérivé de repartition_methode, la colonne n'existe pas taux_de_charge, palier deviennent vrais d'eux-mêmes, ce sont des dérivés consommation_veille 3 619,3 kW, le même seau horaire à J-1 recommandations 2 actives sur SITE003, produites par R1 Le champ le plus visible était derniere_releve : l'écran affichait le 1er septembre pendant que la relève tournait à la minute et que la base portait 88 440 lignes pour le seul SITE001. Sur un tableau de bord, la première chose qu'on regarde est l'heure. DEUX CHAMPS DEVIENNENT FACULTATIFS, de bout en bout. derniere_releve un site jamais mesuré n'en a pas. Lui en inventer une serait pire que de ne rien afficher, et le masquer donnerait un parc plus petit que le parc. Le front rend un tiret : formaterHeure(null) valait 01:00, une heure plausible et fausse. consommation_veille le seau de la veille peut manquer. ecart_veille_pct rend alors None, et aussi quand la veille vaut zéro : un parc à l'arrêt ne donne pas un écart infini, il ne donne pas d'écart du tout. DISPONIBILITE_CIBLE_PCT reste une constante, et sort de fixtures.py. Ce n'est pas une donnée, c'est un objectif d'équipe qu'aucune table ne porte : c'était son voisinage avec des valeurs inventées qui la rendait suspecte. Trois doubles de test corrigés, et chacun cachait un défaut : FakeCurseur rendait ses lignes QUELLE QUE SOIT la requête. Il rendait donc les prévisions à qui demandait le référentiel. les réponses ignoraient les paramètres : le double rendait les recommandations de tout le parc à qui demandait celles d'un seul site, et le cas d'un site sans recommandation passait au vert sur un dépôt qui n'aurait rien filtré. CurseurDouble exigeait son second argument alors que psycopg le rend facultatif. Le double était plus strict que ce qu'il double. Les fixtures restent, à leur place : le jeu d'essai. Les sept sites, le site muet et les quatre paliers sont inchangés pour les cas, et c'est le point, aucun d'eux n'a eu à bouger. Les trois requêtes sont éprouvées contre enervision_prod avant d'être écrites. 1 068 tests, ruff propre, mypy --strict propre sur 23 fichiers.