Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build exclusivite reparation filter when reparer is checked #718

Merged
merged 6 commits into from
Jul 18, 2024

Conversation

fabienheureux
Copy link
Member

@fabienheureux fabienheureux commented Jul 18, 2024

Ref https://www.notion.so/accelerateur-transition-ecologique-ademe/Acteur-avec-exclu-de-R-paration-n-appara-t-pas-sur-la-carte-m-me-quand-on-d-coche-le-filtre-be5dd348c83b48f3a76ac60e894d0e1d?pvs=4

Le filtrage de l'exclusivité de réparation exclut des acteurs qui devraient s'afficher, notamment car on récupère mal l'action réparer choisie par l'utilisateur.

⚠️ J'ai réalisé que cette partie du code était pas mal emmêlée, je propose dans cette PR une légère réorganisation.
Notamment :

  • Utilisation de formulaire django plutôt que d'accéder directement aux paramètres de la requête : c'est plus stable, les données ont déjà été validées par Django. Ça évite notamment des int(request.GET.get("an_int_parameter", "0"))
  • J'ai refactorisé ces méthodes pour mieux visualiser où est-ce qu'on faisait le filtrage sur les acteurs
  • J'ai revu le nommage pour m'y retrouver un peu, je suis ouvert sur le sujet
  • J'ai ajouté deux # TODO dans le code pour pas oublier de finaliser la refacto

TODO

  • Vérifier les tests qui plantent

J'ai pas mal galéré sur l'écriture des tests, il y a des conditions un petit peu cachée pour faire marcher la vue avec l'action reparer, en l'occurence j'ai du :

  • définir un label qualité réparateur
  • créer une action que je passe à une displayed proposition service que j'ajoute à mon displayed acteur
  • mocker _get_reparer_action_id et _get_selected_action_ids pour retourner cette action

Ça me semble un peu tordu, je me demande si j'ai bien compris le sujet ou pas.
En tout cas la bonne nouvelle, c'est que mes tests échouaient avec un périmètre fonctionnel mal respecté, donc j'imagine qu'ils étaient pas si mal écrits 😅


Tests fonctionnels

Pour tester : je conseille de passer la limite de résultats affichés à 100 ou plus dans l'environnement du projet.
Les tests sont réalisés en cherchant Atelier tuffery Floirac, à Floirac Trois Rivières (acteur proposé par Christian qui a bien une exclusivité de réparation).

En mode formulaire

1. Par défaut : pas exclu coché, réparer coché

image

Il n'y a rien ici
image

2. Pas exclu décoché, réparer coché

image

Atelier tuffery Floirac s'affiche bien
image

3. Pas exclu décoché, réparer décoché

image

Il n'y a rien ici 🎉
image

En mode carte

1. Par défaut : pas exclu coché, réparer coché

image

Il n'apparaît pas, comportement attendu ✔️

2. Pas exclu décoché, réparer coché

image

Il apparaît, comportement attendu ✔️

3. Pas exclu décoché, réparer décoché

Il n'apparaît pas, comportement attendu ✔️
image

@fabienheureux fabienheureux requested a review from a team as a code owner July 18, 2024 10:51
@fabienheureux fabienheureux requested review from Hazelmat and removed request for a team July 18, 2024 10:51
@fabienheureux fabienheureux force-pushed the fix-reparation-when-action-reparer-is-checked branch from 87396b7 to 9cc6801 Compare July 18, 2024 10:55
@fabienheureux fabienheureux force-pushed the fix-reparation-when-action-reparer-is-checked branch from 9cc6801 to 8435075 Compare July 18, 2024 14:36
@fabienheureux fabienheureux requested a review from kolok July 18, 2024 15:30
@fabienheureux fabienheureux force-pushed the fix-reparation-when-action-reparer-is-checked branch from a8f2de6 to 64b9cc7 Compare July 18, 2024 16:07
@fabienheureux fabienheureux force-pushed the fix-reparation-when-action-reparer-is-checked branch from 64b9cc7 to 4b827c5 Compare July 18, 2024 16:15
@fabienheureux fabienheureux merged commit 6ec0053 into main Jul 18, 2024
7 checks passed
@fabienheureux fabienheureux deleted the fix-reparation-when-action-reparer-is-checked branch July 18, 2024 21:44
fabienheureux added a commit that referenced this pull request Jul 22, 2024
* build exclusivite reparation filter when reparer is checked

* refactor method in address view

* Follow up refactor

* fix tests

* wip

* Fix tests. Finally
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants