-
Notifications
You must be signed in to change notification settings - Fork 38
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
(PC-31625) Add PriceCategory.idAtProvider
in public API
#13947
(PC-31625) Add PriceCategory.idAtProvider
in public API
#13947
Conversation
159d9c4
to
01bd4d2
Compare
7a3da53
to
5bf537a
Compare
… POST price categories and PATCH price category endpoints
5bf537a
to
6d19af2
Compare
Add changes related to price category idAtProvider
95ea2ef
to
6347f30
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A voir aussi si on ne veut pas rajouter des cas de tests pour l'api où on s'assure qu'on ne peut pas aller modifier une catégorie de prix à laquelle on n'a pas accès avec la clé d'API.
# unique idAtProvider | ||
if price_category.id_at_provider: | ||
if price_category.id_at_provider in unique_id_at_provider_list: | ||
raise ValueError( | ||
f"Price category `idAtProvider` must be unique. Duplicated value : {price_category.id_at_provider}" | ||
) | ||
unique_id_at_provider_list.add(price_category.id_at_provider) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Simple suggestion, c'est du détail (l'avantage est d'avoir en quelques lignes tous les ids dupliqués)
# unique idAtProvider | |
if price_category.id_at_provider: | |
if price_category.id_at_provider in unique_id_at_provider_list: | |
raise ValueError( | |
f"Price category `idAtProvider` must be unique. Duplicated value : {price_category.id_at_provider}" | |
) | |
unique_id_at_provider_list.add(price_category.id_at_provider) | |
from collections import Counter | |
ids = Counter([pc.id_at_provider for pc in price_categories if pc.id_at_provider]) | |
duplicates = [id_at_provider for id_at_provider, count in ids.items() if count > 1] | |
if duplicates: | |
raise ValueError("Price category `idAtProvider` must be unique. Duplicate values: {duplicates}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je suis d'accord avec toi. Est-ce que ça te va si je fais ça dans une petite refacto à côté (en appliquant la même logique pour les couples (label, prix)) ?
@jeremieb-pass : En fait ce check est fait à partir de l'offre. Pour pouvoir accéder à la price category, il faut avoir accès à l'offre. C'est ce que check les test 404 en début de class. |
But de la pull request
Ticket Jira (ou description si BSR) : https://passculture.atlassian.net/browse/PC-31625
In this PR:
create_price_category
andedit_price_category
methodsVérifications