Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
ottaviano committed Dec 6, 2024
1 parent b7ac65d commit b5fb8ae
Show file tree
Hide file tree
Showing 178 changed files with 390 additions and 465 deletions.
4 changes: 3 additions & 1 deletion config/packages/api_platform.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ api_platform:
# allow_plain_identifiers: true
# metadata_backward_compatibility_layer: false
exception_to_status:
ApiPlatform\Core\Bridge\Symfony\Validator\Exception\ValidationException: 400
ApiPlatform\Validator\Exception\ValidationException: !php/const Symfony\Component\HttpFoundation\Response::HTTP_BAD_REQUEST
formats:
json:
mime_types: ['application/json']
Expand All @@ -21,6 +21,8 @@ api_platform:
pagination:
items_per_page_parameter_name: page_size
defaults:
normalization_context:
skip_null_values: false
pagination_items_per_page: 10
pagination_maximum_items_per_page: 30
pagination_client_items_per_page: true
1 change: 1 addition & 0 deletions config/services.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ services:
App\Normalizer\JecouteRegionNormalizer:
tags: [{ name: 'serializer.normalizer', priority: 1 }]

# TODO: remove ?
App\Normalizer\ConstraintViolationListNormalizer:
decorates: 'serializer.normalizer.constraint_violation_list'
arguments:
Expand Down
28 changes: 19 additions & 9 deletions features/api/adherents.feature
Original file line number Diff line number Diff line change
Expand Up @@ -125,12 +125,11 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "nickname: Cette valeur est déjà utilisée.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": "@uuid@",
"propertyPath": "nickname",
"message": "Cette valeur est déjà utilisée."
}
Expand All @@ -151,12 +150,11 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "nickname: Vous devez saisir au maximum 25 caractères.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": "@uuid@",
"propertyPath": "nickname",
"message": "Vous devez saisir au maximum 25 caractères."
}
Expand All @@ -174,7 +172,19 @@ Feature:
"""
Then the response status code should be 400
And the response should be in JSON
And the JSON node "detail" should be equal to "nickname: La syntaxe est incorrecte, le pseudo ne peut contenir que des chiffres, lettres, et les caractères _ et -"
And the JSON should be equal to:
"""
{
"message": "Validation Failed",
"status": "error",
"violations": [
{
"propertyPath": "nickname",
"message": "La syntaxe est incorrecte, le pseudo ne peut contenir que des chiffres, lettres, et les caractères _ et -"
}
]
}
"""

Scenario: As a logged-in user I can set my nickname but not use it
Given I am logged as "[email protected]"
Expand Down
13 changes: 5 additions & 8 deletions features/api/audiences.feature
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,9 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"type": "@string@",
"title": "An error occurred",
"status": 400,
"detail": "name: Cette valeur ne doit pas \u00eatre vide.",
"violations": [
{
Expand Down Expand Up @@ -79,32 +80,28 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "zone: La zone choisie ne fait pas partie des zones gérées.\nname: Cette valeur ne doit pas être vide.\nfirst_name: Vous devez saisir au maximum 50 caractères.\nlast_name: Vous devez saisir au maximum 50 caractères.\ngender: Ce sexe n'est pas valide.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": null,
"propertyPath": "zone",
"message": "La zone choisie ne fait pas partie des zones gérées."
},
{
"code": "@uuid@",
"propertyPath": "name",
"message": "Cette valeur ne doit pas être vide."
},
{
"code": "@uuid@",
"propertyPath": "first_name",
"message": "Vous devez saisir au maximum 50 caractères."
},
{
"code": "@uuid@",
"propertyPath": "last_name",
"message": "Vous devez saisir au maximum 50 caractères."
},
{
"code": "@uuid@",
"propertyPath": "gender",
"message": "Ce sexe n'est pas valide."
}
Expand Down
5 changes: 2 additions & 3 deletions features/api/change_email.feature
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,11 @@ Feature:
And the JSON should be equal to:
"""
{
"detail": "email_address: Ceci n'est pas une adresse email valide.",
"title": "An error occurred",
"message": "Validation Failed",
"status": "error",
"type": "@[email protected]()",
"violations": [
{
"code": "@uuid@",
"message": "Ceci n'est pas une adresse email valide.",
"propertyPath": "email_address"
}
Expand Down
6 changes: 3 additions & 3 deletions features/api/committees.feature
Original file line number Diff line number Diff line change
Expand Up @@ -377,9 +377,9 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "zones: Le type de la zone est invalide",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"propertyPath": "zones",
Expand Down
12 changes: 6 additions & 6 deletions features/api/department_sites.feature
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "zone: Cette zone ne fait pas partie des zones que vous gérez.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"propertyPath": "zone",
Expand Down Expand Up @@ -124,9 +124,9 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "zone: Le type de la zone est invalide.\nzone: Cette valeur ne doit pas être vide.\ncontent: Cette valeur ne doit pas être vide.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"propertyPath": "zone",
Expand Down
6 changes: 3 additions & 3 deletions features/api/designations.feature
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "custom_title: Cette valeur ne doit pas être vide.\ntype: Cette valeur ne doit pas être vide.\nvote_end_date: La date de clôture doit être postérieur à la date de début\ndescription: Cette valeur ne doit pas être vide.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"propertyPath": "custom_title",
Expand Down
16 changes: 6 additions & 10 deletions features/api/events.feature
Original file line number Diff line number Diff line change
Expand Up @@ -1130,9 +1130,9 @@ Feature:
And the JSON should be equal to:
"""
{
"detail": "category: Catégorie est requise.\nfinish_at: La date de fin de votre événement ne peut pas dépasser le 4 janv. 2018, 10:10.\nname: Cette valeur ne doit pas être vide.\ncanonical_name: Cette valeur ne doit pas être vide.\ndescription: Cette valeur ne doit pas être vide.",
"title": "An error occurred",
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": null,
Expand All @@ -1145,17 +1145,14 @@ Feature:
"propertyPath": "finish_at"
},
{
"code": "@uuid@",
"message": "Cette valeur ne doit pas être vide.",
"propertyPath": "name"
},
{
"code": "@uuid@",
"message": "Cette valeur ne doit pas être vide.",
"propertyPath": "canonical_name"
},
{
"code": "@uuid@",
"message": "Cette valeur ne doit pas être vide.",
"propertyPath": "description"
}
Expand Down Expand Up @@ -1190,12 +1187,11 @@ Feature:
And the JSON should be equal to:
"""
{
"detail": "finish_at: La date de fin de l'événement doit être postérieure à la date de début.",
"title": "An error occurred",
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": "@uuid@",
"message": "La date de fin de l'événement doit être postérieure à la date de début.",
"propertyPath": "finish_at"
}
Expand Down
27 changes: 12 additions & 15 deletions features/api/jecoute_news.feature
Original file line number Diff line number Diff line change
Expand Up @@ -747,17 +747,16 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "text: Le texte est obligatoire.\ntitle: Cette valeur ne doit pas être vide.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": null,
"propertyPath": "text",
"message": "Le texte est obligatoire."
},
{
"code": "@uuid@",
"propertyPath": "title",
"message": "Cette valeur ne doit pas être vide."
}
Expand All @@ -780,22 +779,20 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "text: Le texte ne doit pas contenir plus de 1000 caractères.\ntitle: Vous devez saisir au maximum 120 caractères.\nexternal_link: Cette valeur n'est pas une URL valide.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": null,
"propertyPath": "text",
"message": "Le texte ne doit pas contenir plus de 1000 caractères."
},
{
"code": "@uuid@",
"propertyPath": "title",
"message": "Vous devez saisir au maximum 120 caractères."
},
{
"code": "@uuid@",
"propertyPath": "external_link",
"message": "Cette valeur n'est pas une URL valide."
}
Expand Down Expand Up @@ -1216,9 +1213,9 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "zone: Veuillez spécifier une zone.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": null,
Expand Down Expand Up @@ -1247,9 +1244,9 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "zone: La zone spécifiée n'est pas gérée par votre rôle.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": null,
Expand Down
19 changes: 6 additions & 13 deletions features/api/jecoute_ripostes.feature
Original file line number Diff line number Diff line change
Expand Up @@ -257,22 +257,19 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "title: Cette valeur ne doit pas être vide.\nbody: Cette valeur ne doit pas être vide.\nsource_url: Cette valeur ne doit pas être vide.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": "@uuid@",
"propertyPath": "title",
"message": "Cette valeur ne doit pas être vide."
},
{
"code": "@uuid@",
"propertyPath": "body",
"message": "Cette valeur ne doit pas être vide."
},
{
"code": "@uuid@",
"propertyPath": "source_url",
"message": "Cette valeur ne doit pas être vide."
}
Expand All @@ -294,27 +291,23 @@ Feature:
And the JSON should be equal to:
"""
{
"type": "https://tools.ietf.org/html/rfc2616#section-10",
"title": "An error occurred",
"detail": "title: Vous devez saisir au maximum 255 caractères.\nbody: Cette valeur ne doit pas être vide.\nsource_url: Cette valeur ne doit pas être vide.\nwith_notification: Cette valeur doit être de type bool.",
"message": "Validation Failed",
"status": "error",
"violations": [
{
"code": "@uuid@",
"propertyPath": "title",
"message": "Vous devez saisir au maximum 255 caractères."
},
{
"code": "@uuid@",
"propertyPath": "body",
"message": "Cette valeur ne doit pas être vide."
},
{
"code": "@uuid@",
"propertyPath": "source_url",
"message": "Cette valeur ne doit pas être vide."
},
{
"code": "@uuid@",
"propertyPath": "with_notification",
"message": "Cette valeur doit être de type bool."
}
Expand Down
Loading

0 comments on commit b5fb8ae

Please sign in to comment.