Skip to content

Conversation

@pcharlet-pass
Copy link
Contributor

But de la pull request

Ticket Jira (ou description si BSR) : https://passculture.atlassian.net/browse/PC-32268

Vérifications

  • J'ai écrit les tests nécessaires
  • J'ai mis à jour le fichier des plans de tests du portail pro si nécessaire
  • J'ai mis à jour la liste des routes et des titres de pages du portail pro si j'en ai rajouté/modifié ou supprimé une.
  • J'ai relu attentivement les migrations, en particulier pour éviter les locks, et je préviens les équipes Shérif et Data
  • J'ai ajouté des screenshots pour d'éventuels changements graphiques

@pcharlet-pass pcharlet-pass force-pushed the pcharlet/pc-32268-statitics-none-zero branch from 8143a59 to 9d9905b Compare November 8, 2024 09:46
@github-actions
Copy link
Contributor

github-actions bot commented Nov 8, 2024

Visit the preview URL for this PR (updated for commit d547187):

https://pc-pro-testing--pr14968-pcharlet-pc-32268-st-ywfc3dvu.web.app

(expires Fri, 15 Nov 2024 11:28:04 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 032d233ee67e1c50d6af12e29c936c7076770eb1

errors={"global": ["Vous devez préciser au moins un ID de partenaire culturel"]},
status_code=422,
)
check_user_has_access_to_venues(current_user, venue_ids)
Copy link

@damien-ramelet damien-ramelet Nov 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ça n'est pas directement en lien avec ta PR, mais d'après git tu l'as implémenté. J'ai l'impression qu'il y a un soucis d'implémentation, cette fonction renvoit True à partir du moment où au moins un id de venue_ids appartient à l'utilisateur. Je pense (en tout cas le naming et la logique métier laissent à penser) qu'elle devrait plutôt renvoyer True si et seulement si tous les id de venue_ids appartiennent à l'utilisateur.

Le soucis se situe au niveau du exists, où on vérifie qu'il y a au moins un user_offerer correspondant au user passé en paramètre et à la liste de venue_id, on devrait plutôt vérifier que tous existent non ?

(testable facilement en local avec les données de sandbox)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(je ne voulais pas approve, j'ai misclick : )

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On peut facilement écrire un test de non regression, comme ceci:

     @patch("pcapi.connectors.clickhouse.testing_backend.TestingBackend.run_query")
     def test_get_statistics_from_multiple_venues(self, run_query, client):
+        venue_not_belonging_to_user = offerers_factories.VenueFactory()
         user = users_factories.UserFactory()
         offerer = offerers_factories.OffererFactory()
         offerers_factories.UserOffererFactory(user=user, offerer=offerer)
         venue2 = offerers_factories.VenueFactory(managingOfferer=offerer)
         venue_id = venue.id
         venue2_id = venue2.id
+        foreign_venue = venue_not_belonging_to_user.id
         test_client = client.with_session_auth(email=user.email)
         num_queries = testing.AUTHENTICATION_QUERIES
         num_queries += 1  # select Offerer
         with testing.assert_num_queries(num_queries):
             run_query.return_value = fixtures.YEARLY_AGGREGATED_VENUE_REVENUE
-            response = test_client.get(f"/get-statistics/?venue_ids={venue_id}&venue_ids={venue2_id}")
+            response = test_client.get(f"/get-statistics/?venue_ids={venue_id}&venue_ids={venue2_id}&venue_ids={foreign_venue}")
             assert response.status_code == 200

On ne devrait pas avoir une 200 dans ces conditions

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En effet ! Merci d'avoir trouvé ça ! (corrigé sur les 2 PR)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci à toi !

@pcharlet-pass pcharlet-pass force-pushed the pcharlet/pc-32268-statitics-none-zero branch from d5625eb to d547187 Compare November 13, 2024 11:13
@pcharlet-pass
Copy link
Contributor Author

La PR version 2 est plus propre #14992

@fseguin-pass fseguin-pass deleted the pcharlet/pc-32268-statitics-none-zero branch December 26, 2024 11:30
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.

3 participants