diff --git a/frontend/i18n/locales/fr.json b/frontend/i18n/locales/fr.json
index e8cbd0f..1032c45 100644
--- a/frontend/i18n/locales/fr.json
+++ b/frontend/i18n/locales/fr.json
@@ -180,6 +180,7 @@
"postalCode": "Code postal",
"city": "Ville",
"street": "Adresse",
+ "streetNotFound": "Adresse introuvable ? Saisissez-la directement.",
"streetComplement": "Adresse complémentaire",
"sites": "Sites",
"contacts": "Contact(s) rattaché(s)",
diff --git a/frontend/modules/commercial/components/ClientAddressBlock.vue b/frontend/modules/commercial/components/ClientAddressBlock.vue
index 2fd55da..1cc792b 100644
--- a/frontend/modules/commercial/components/ClientAddressBlock.vue
+++ b/frontend/modules/commercial/components/ClientAddressBlock.vue
@@ -123,10 +123,10 @@
+ sa valeur liee, il n'afficherait rien en readonly). allow-create :
+ si la BAN ne propose rien (ou erreur), le texte saisi est CONSERVE au
+ blur/Entree (saisie manuelle) — sinon il serait efface. La ville reste
+ pilotee par le code postal ; choisir une suggestion remplit rue+ville+CP. -->
update('street', v === null ? null : String(v))"
@search="onAddressSearch"
@select="onAddressSelect"
diff --git a/frontend/modules/commercial/components/__tests__/ClientAddressBlock.spec.ts b/frontend/modules/commercial/components/__tests__/ClientAddressBlock.spec.ts
index 8dce68c..782349a 100644
--- a/frontend/modules/commercial/components/__tests__/ClientAddressBlock.spec.ts
+++ b/frontend/modules/commercial/components/__tests__/ClientAddressBlock.spec.ts
@@ -36,6 +36,7 @@ const MalioInputAutocompleteStub = defineComponent({
minSearchLength: { type: Number, default: 0 },
label: { type: String, default: '' },
readonly: { type: Boolean, default: false },
+ allowCreate: { type: Boolean, default: false },
},
emits: ['update:modelValue', 'search', 'select'],
setup(props) {
@@ -78,6 +79,14 @@ describe('ClientAddressBlock — affichage de l\'adresse persistee', () => {
expect(values).toContain('8 Boulevard du Port')
})
+
+ // ERP-119 : saisie manuelle possible quand la BAN ne trouve rien -> allow-create
+ // (sans cette prop, MalioInputAutocomplete efface le texte non selectionne au blur).
+ it('active allow-create sur le champ Adresse (saisie manuelle libre)', () => {
+ const wrapper = mountBlock(null)
+
+ expect(wrapper.findComponent(MalioInputAutocompleteStub).props('allowCreate')).toBe(true)
+ })
})
/**