feat(transport) : onglet Qualimat accessible dès le départ, recherche réactive au nom, sélection remplit le formulaire (ERP-166)
Pull Request — Quality gate / Backend (PHP CS + PHPUnit) (pull_request) Failing after 49s
Pull Request — Quality gate / Frontend (lint + Vitest + build) (pull_request) Successful in 1m34s

This commit is contained in:
2026-06-17 08:10:17 +02:00
parent 388d39a379
commit cf645493c1
4 changed files with 31 additions and 38 deletions
@@ -162,8 +162,10 @@ describe('useCarrierForm', () => {
// RG-4.13 : réaffiche le nom normalisé (UPPERCASE) renvoyé par le serveur.
expect(form.main.name).toBe('TRANSPORTS ACME')
expect(form.mainLocked.value).toBe(true)
expect(form.activeTab.value).toBe('qualimat')
expect(form.unlockedIndex.value).toBe(0)
// L'onglet Qualimat était déjà accessible (saisie assistée) ; le POST
// déverrouille Adresses (index 1) et bascule dessus.
expect(form.activeTab.value).toBe('addresses')
expect(form.unlockedIndex.value).toBe(1)
})
it('buildMainPayload : omet certificationType vide, garde isChartered', () => {
@@ -213,8 +215,9 @@ describe('useCarrierForm', () => {
expect(CARRIER_TAB_KEYS).toEqual(['qualimat', 'addresses', 'contacts', 'prices'])
const form = useCarrierForm()
expect(form.tabKeys.value).toEqual(['qualimat', 'addresses', 'contacts', 'prices'])
// Tous verrouillés tant que le formulaire principal n'est pas validé.
expect(form.unlockedIndex.value).toBe(-1)
// L'onglet Qualimat (index 0) est accessible dès le départ (saisie assistée) ;
// Adresses / Contacts / Prix restent verrouillés jusqu'au POST principal.
expect(form.unlockedIndex.value).toBe(0)
})
it('completeTab : déverrouille/avance, et signale le dernier onglet du flux', () => {