refactor(front) : suites review ERP-101 — i18n libelles toast + factorisation useClientFormErrors
- libelles de toast generiques passes en i18n (errors.title/generic/unknown, success.title) dans useFormErrors, useApi et useCategoryForm - nouveau composable useClientFormErrors : factorise l'etat d'erreurs (3 useFormErrors scalaires + 3 tableaux par ligne + mapRowError) partage entre clients/new.vue et [id]/edit.vue - mapRowError retourne un booleen et ne toaste plus : chaque page garde son fallback (toast generique en creation, showError en edition)
This commit is contained in:
@@ -220,7 +220,7 @@ describe('useCategoryForm', () => {
|
||||
await form.submitCreate()
|
||||
|
||||
expect(mockToastSuccess).toHaveBeenCalledWith({
|
||||
title: 'Succès',
|
||||
title: 'success.title',
|
||||
message: 'admin.categories.toast.created',
|
||||
})
|
||||
})
|
||||
@@ -302,7 +302,7 @@ describe('useCategoryForm', () => {
|
||||
// Pas d'erreur inline par champ : l'erreur transverse part en toast.
|
||||
expect(form.errors).toEqual({})
|
||||
expect(mockToastError).toHaveBeenCalledWith({
|
||||
title: 'Erreur',
|
||||
title: 'errors.title',
|
||||
message: 'Boom server',
|
||||
})
|
||||
})
|
||||
@@ -378,7 +378,7 @@ describe('useCategoryForm', () => {
|
||||
await form.submitUpdate(42)
|
||||
|
||||
expect(mockToastSuccess).toHaveBeenCalledWith({
|
||||
title: 'Succès',
|
||||
title: 'success.title',
|
||||
message: 'admin.categories.toast.updated',
|
||||
})
|
||||
})
|
||||
@@ -409,7 +409,7 @@ describe('useCategoryForm', () => {
|
||||
expect(mockDelete).toHaveBeenCalledWith('/categories/42', {}, { toast: false })
|
||||
expect(ok).toBe(true)
|
||||
expect(mockToastSuccess).toHaveBeenCalledWith({
|
||||
title: 'Succès',
|
||||
title: 'success.title',
|
||||
message: 'admin.categories.toast.deleted',
|
||||
})
|
||||
})
|
||||
|
||||
@@ -129,11 +129,11 @@ export function useCategoryForm() {
|
||||
name: attemptedName,
|
||||
})
|
||||
formErrors.setError('name', duplicateMessage)
|
||||
toast.error({ title: 'Erreur', message: duplicateMessage })
|
||||
toast.error({ title: t('errors.title'), message: duplicateMessage })
|
||||
return true
|
||||
}
|
||||
|
||||
return formErrors.handleApiError(e, { fallbackMessage: 'Une erreur est survenue.' })
|
||||
return formErrors.handleApiError(e, { fallbackMessage: t('errors.generic') })
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -150,7 +150,7 @@ export function useCategoryForm() {
|
||||
toast: false,
|
||||
})
|
||||
toast.success({
|
||||
title: 'Succès',
|
||||
title: t('success.title'),
|
||||
message: t('admin.categories.toast.created'),
|
||||
})
|
||||
return created
|
||||
@@ -189,7 +189,7 @@ export function useCategoryForm() {
|
||||
toast: false,
|
||||
})
|
||||
toast.success({
|
||||
title: 'Succès',
|
||||
title: t('success.title'),
|
||||
message: t('admin.categories.toast.updated'),
|
||||
})
|
||||
return updated
|
||||
@@ -215,7 +215,7 @@ export function useCategoryForm() {
|
||||
try {
|
||||
await api.delete(`/categories/${id}`, {}, { toast: false })
|
||||
toast.success({
|
||||
title: 'Succès',
|
||||
title: t('success.title'),
|
||||
message: t('admin.categories.toast.deleted'),
|
||||
})
|
||||
return true
|
||||
|
||||
Reference in New Issue
Block a user