fix(front+back) : suppression de la categorie du bloc adresse prestataire (ERP-193)
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 47s
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Successful in 5m13s

La categorie portee par l'ADRESSE du prestataire (M2M provider_address_category)
est retiree de toutes les couches : champ + prop du bloc adresse, type/payload/
mapping front, entite ProviderAddress (M2M, Assert\Count, validateCategoryType,
accesseurs), fixtures, contexte de serialisation. Nouvelle migration de drop de la
table (namespace racine pour l'ordre post-creation). La categorie du PRESTATAIRE
lui-meme (provider_category, repertoire, filtre, formulaire principal) est conservee.
This commit is contained in:
2026-06-22 09:44:44 +02:00
parent a0c356c9fb
commit bd71caa289
21 changed files with 109 additions and 198 deletions
@@ -12,21 +12,15 @@ import { emptyProviderAddress } from '~/modules/technique/types/providerForm'
*/
describe('providerAddress helpers', () => {
const SITE = '/api/sites/1'
const CAT = '/api/categories/7'
describe('isProviderAddressValid (RG-3.05 / RG-3.09)', () => {
describe('isProviderAddressValid (RG-3.05)', () => {
it('false sans site', () => {
const address = { ...emptyProviderAddress(), categoryIris: [CAT] }
const address = { ...emptyProviderAddress() }
expect(isProviderAddressValid(address)).toBe(false)
})
it('false sans categorie', () => {
it('true avec au moins un site', () => {
const address = { ...emptyProviderAddress(), siteIris: [SITE] }
expect(isProviderAddressValid(address)).toBe(false)
})
it('true avec au moins un site ET une categorie', () => {
const address = { ...emptyProviderAddress(), siteIris: [SITE], categoryIris: [CAT] }
expect(isProviderAddressValid(address)).toBe(true)
})
})
@@ -39,7 +33,6 @@ describe('providerAddress helpers', () => {
city: 'Châtellerault',
street: '1 rue du Test',
siteIris: [SITE],
categoryIris: [CAT],
contactIris: ['/api/provider_contacts/9'],
})
expect(payload).toEqual({
@@ -48,7 +41,6 @@ describe('providerAddress helpers', () => {
city: 'Châtellerault',
street: '1 rue du Test',
streetComplement: null,
categories: [CAT],
sites: [SITE],
contacts: ['/api/provider_contacts/9'],
})
@@ -61,7 +53,6 @@ describe('providerAddress helpers', () => {
const payload = buildProviderAddressPayload({
...emptyProviderAddress(),
siteIris: [SITE],
categoryIris: [CAT],
})
expect(payload).not.toHaveProperty('postalCode')
expect(payload).not.toHaveProperty('city')
@@ -76,7 +76,7 @@ describe('providerDetail helpers', () => {
})
describe('mapAddressToDraft', () => {
it('extrait les IRI des sites / categories / contacts embarques', () => {
it('extrait les IRI des sites / contacts embarques', () => {
const draft = mapAddressToDraft({
'@id': '/api/provider_addresses/3',
id: 3,
@@ -85,11 +85,9 @@ describe('providerDetail helpers', () => {
city: 'Châtellerault',
street: '1 rue du Test',
sites: [{ '@id': '/api/sites/1' }],
categories: [{ '@id': '/api/categories/7' }],
contacts: [{ '@id': '/api/provider_contacts/5' }, '/api/provider_contacts/6'],
})
expect(draft.siteIris).toEqual(['/api/sites/1'])
expect(draft.categoryIris).toEqual(['/api/categories/7'])
expect(draft.contactIris).toEqual(['/api/provider_contacts/5', '/api/provider_contacts/6'])
expect(draft.id).toBe(3)
})