feat(front) : page répertoire clients + datatable
- Page /clients (route à plat) : MalioDataTable 6 colonnes (contact, téléphone formaté, codes catégories, badges sites), toggle « Voir les archivés » (état local), boutons Ajouter (manage) / Exporter (view, download xlsx), clic ligne vers le détail, empty state. - Composable useClientsRepository (wrapper de usePaginatedList) + util formatPhoneFR + clé i18n showArchived. - Contrat back : la liste client:read expose désormais les codes catégories (category:read) et les sites agrégés des adresses (site:read + Client::getSites) ; jointures anti N+1 dans createListQueryBuilder. Tests back + front.
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { describe, it, expect } from 'vitest'
|
||||
import { formatPhoneFR } from '../phone'
|
||||
|
||||
describe('formatPhoneFR', () => {
|
||||
it('formate un numero 10 chiffres en XX XX XX XX XX', () => {
|
||||
expect(formatPhoneFR('0612345678')).toBe('06 12 34 56 78')
|
||||
})
|
||||
|
||||
it('tolere une saisie deja pointee ou espacee', () => {
|
||||
expect(formatPhoneFR('06.12.34.56.78')).toBe('06 12 34 56 78')
|
||||
expect(formatPhoneFR('06 12 34 56 78')).toBe('06 12 34 56 78')
|
||||
})
|
||||
|
||||
it('retourne une chaine vide pour une valeur vide ou nulle', () => {
|
||||
expect(formatPhoneFR('')).toBe('')
|
||||
expect(formatPhoneFR(null)).toBe('')
|
||||
expect(formatPhoneFR(undefined)).toBe('')
|
||||
})
|
||||
|
||||
it('groupe par 2 meme un nombre impair de chiffres (dernier groupe seul)', () => {
|
||||
expect(formatPhoneFR('123')).toBe('12 3')
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user