feat(transport) : onglet adresses transporteur (ERP-167) #126
Reference in New Issue
Block a user
Delete Branch "feat/erp-167-carrier-addresses"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
BAN + RG-4.05→4.07. Ticket ERP-167.
⚠️ Stack sur #123 (ERP-166) → #122 (ERP-165) → #121 (ERP-164), non encore mergées : à merger APRÈS elles.
Périmètre : onglet Adresses de /carriers/new — bloc CarrierAddressBlock (Pays/CP/Ville/Adresse/Adresse complémentaire) avec autocomplétion BAN réutilisée (useAddressAutocomplete). POST /carriers/{id}/addresses, PATCH/DELETE /carrier_addresses/{id}. RG-4.05 préremplissage si QUALIMAT + obligatoires si affrété (validé back, 422 inline). RG-4.07 pas de bouton Valider si QUALIMAT (adresse copiée persistée automatiquement après le POST principal).
Review front — ERP-167 (onglet adresses)
Verdict : mergeable en l'état.
Clone simplifié justifié de
ClientAddressBlock: pattern erreurs-422-par-ligne respecté (addressErrors = ref<Record<string,string>[]>,mapViolationsToRecord, prop:errorsindexée), suppression inline via util mutualiséremoveCollectionRow(DELETE serveur d'abord). Bonne couverture Vitest.Findings
MAJOR —→ infirmé après vérification. Dans ofetch,notifyRemovalErrorliraiterror.data(toujoursundefined) au lieu deerror.response._dataFetchError.dataest un getter qui renvoieresponse._data:error.dataeterror.response._datasont identiques. Le message back d'un DELETE en échec (409) remonte donc correctement. Pas de correction nécessaire.applyQualimatSelectionreconstruit l'objet adresse littéralement ({ id:null, country:'France', … }) au lieu de partir deemptyCarrierAddress()→ risque de drift si la forme deCarrierAddressFormDraftévolue. Reco :{ ...emptyCarrierAddress(), postalCode, city, street }.:key="index"sur lev-fordes blocs : aligné sur la référence M1 et sans état interne au bloc (tout passe parmodel-value), suppression qui spliceaddresses+addressErrorsensemble → pas de désalignement. Acceptable.6a69d7cd23toef996c3672View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.