Bug #99142
tests/api/test_statistics.py::test_statistics_multiple_forms_count le dernier assert dépend de l'ordre dans lequel les formdef sont renvoyés
0%
Description
# filter on block boolean field exclusive to one formdef yields empty results resp = get_app(pub).get(sign_uri(url + '&filter-blockdata_bool=true')) > assert resp.json['data']['series'][0]['data'] == [] E assert [30] == [] E E Left contains one more item: 30 E E Full diff: E - [] E + [ E + 30, E + ] tests/api/test_statistics.py:2017: AssertionError
Ça semble venir de cette ligne :
429 def get_filters_criterias(self, formdefs): 430 -> criterias = formdefs[0].form_page.get_criterias_from_query(statistics_fields_only=True) 431 criterias = [self.transform_criteria(criteria) for criteria in criterias]
Selon dans quel ordre est rangé formdefs, on aura ou pas un filtre sur "statistics_data->'bool'
(Pdb) p formdefs[0].form_page.get_criterias_from_query(statistics_fields_only=True) [<Equal (attribute: 'f1', value: True)>] > /home/bdauvergne/wd/eo/wcs/wcs/statistics/views.py(431)get_filters_criterias() -> criterias = [self.transform_criteria(criteria) for criteria in criterias] (Pdb) p criterias [<ArrayContains (attribute: "statistics_data->'bool'", value: 'true')>]
Si je force criterias sur formdefs numéro 1 ça passe:
> /home/bdauvergne/wd/eo/wcs/wcs/statistics/views.py(430)get_filters_criterias() -> criterias = formdefs[0].form_page.get_criterias_from_query(statistics_fields_only=True) (Pdb) > /home/bdauvergne/wd/eo/wcs/wcs/statistics/views.py(431)get_filters_criterias() -> criterias = [self.transform_criteria(criteria) for criteria in criterias] (Pdb) criterias = formdefs[1].form_page.get_criterias_from_query(statistics_fields_only=True) (Pdb) p criterias [<Nothing (attribute: None, value: None)>] (Pdb) c >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PDB continue (IO-capturing resumed) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PASSED
Je ne vois rien dans le code qui ordonnerait formdefs
dans un ordre attendu.
Associated revisions
History
Updated by Frédéric Péters about 11 hours ago
- Assignee set to Frédéric Péters
J'avais noté celui-ci dans #86744#note-2 en mode "autre test de stat instable",
J'avais temporairement intégré ça https://git.entrouvert.org/entrouvert/wcs/pulls/1904/files#diff-987c82a8ca188376b8dea8e82a7c36dcc585c538 dans ma branche, je vais le poser ici.
Updated by Robot Gitea about 11 hours ago
- Status changed from Nouveau to En cours
Frédéric Péters (fpeters) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1995
- Titre : WIP: statistics: always get formdefs in same order (#99142)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1995/files
Updated by Robot Gitea about 8 hours ago
- Status changed from Solution proposée to En cours
- Assignee changed from Frédéric Péters to Valentin Deniaud
Valentin Deniaud (vdeniaud) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1997
- Titre : WIP: statistics: ensure field exists in all formdefs before filtering (#99142)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1997/files
Updated by Robot Gitea about 7 hours ago
- Status changed from Solution proposée to En cours
Benjamin Dauvergne (bdauvergne) a relu et demandé des modifications sur une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea about 6 hours ago
- Status changed from En cours to Solution proposée
Valentin Deniaud (vdeniaud) a demandé une relecture de Benjamin Dauvergne (bdauvergne) sur une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea about 6 hours ago
- Status changed from Solution proposée to En cours
Valentin Deniaud (vdeniaud) a commencé à travailler sur une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1997
- Titre : WIP: statistics: ensure field exists in all formdefs before filtering (#99142)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1997/files
Updated by Robot Gitea about 6 hours ago
- Status changed from Solution proposée to Solution validée
Benjamin Dauvergne (bdauvergne) a approuvé une pull request sur Gitea concernant cette demande :
Updated by Robot Gitea about 6 hours ago
- Status changed from Solution validée to Résolu (à déployer)
Valentin Deniaud (vdeniaud) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/1997
- Titre : statistics: ensure field exists in all formdefs before filtering (#99142)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/1997/files
Updated by Robot Gitea about 6 hours ago
Valentin Deniaud (vdeniaud) a fermé une pull request sur Gitea concernant cette demande.
Updated by Transition automatique about 2 hours ago
- Status changed from Résolu (à déployer) to Solution déployée
statistics: ensure field exists in all formdefs before filtering (#99142)