Project

General

Profile

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

Added by Benjamin Dauvergne 4 days ago. Updated about 2 hours ago.

Status:
Solution déployée
Priority:
Bas
Target version:
-
Start date:
28 November 2024
Due date:
% Done:

0%

Estimated time:
Patch proposed:
No
Planning:
No

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

Revision a9d65706 (diff)
Added by Valentin Deniaud about 6 hours ago

statistics: ensure field exists in all formdefs before filtering (#99142)

History

#1

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.

#2

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 :

#3

Updated by Robot Gitea about 11 hours ago

  • Status changed from En cours to Solution proposée
#4

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 :

#5

Updated by Robot Gitea about 8 hours ago

  • Status changed from En cours to Solution proposée
#6

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 :

#7

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 :

#8

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 :

#9

Updated by Robot Gitea about 6 hours ago

  • Status changed from En cours to Solution proposée
#10

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 :

#11

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 :

#12

Updated by Robot Gitea about 6 hours ago

Valentin Deniaud (vdeniaud) a fermé une pull request sur Gitea concernant cette demande.

#13

Updated by Transition automatique about 2 hours ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF