Files
Starseed/frontend/modules/field-sales/utils/__tests__/startPoint.spec.ts
T
Matthieu d16c7e5541 feat(field_sales) : onglet Carte fiches Client/Fournisseur + point de départ par site ou adresse
Onglet « Carte » sur les fiches Client et Fournisseur (visible sous
field_sales.tours.view et module actif) : tous les points géolocalisés du
Tiers sur une carte Leaflet, pin ajustable (PATCH lat/lng + geoManual),
adresses non géolocalisées listées à part. Composant réutilisable
TierAddressMap.

Écran de planification : point de départ choisi parmi les sites de
l'utilisateur (MalioSelect) ou en adresse libre (autocomplete BAN), marqueur
« maison » sur la carte et trace partant du départ. Le mode n'est dérivé du
back qu'au premier chargement (les sauvegardes ne réécrasent plus le choix).

Suppression de l'ajout d'étape « point libre » (bouton + modale) ; l'affichage
des étapes custom existantes est conservé.
2026-06-12 08:56:37 +02:00

36 lines
1.2 KiB
TypeScript

import { describe, it, expect } from 'vitest'
import { siteFullAddress, siteOptionLabel, type StartSite } from '../startPoint'
function site(over: Partial<StartSite> = {}): StartSite {
return {
name: 'Châtellerault',
street: "14 allée d'Argenson",
postalCode: '86100',
city: 'Châtellerault',
...over,
}
}
describe('startPoint — siteFullAddress', () => {
it('utilise fullAddress du backend quand il est présent', () => {
expect(siteFullAddress(site({ fullAddress: "14 allée d'Argenson, 86100 Châtellerault" })))
.toBe("14 allée d'Argenson, 86100 Châtellerault")
})
it('recompose « rue, CP ville » quand fullAddress est absent', () => {
expect(siteFullAddress(site({ fullAddress: undefined })))
.toBe("14 allée d'Argenson, 86100 Châtellerault")
})
it('ignore les segments vides à la recomposition', () => {
expect(siteFullAddress({ name: 'X', street: '', postalCode: '79000', city: 'Niort' }))
.toBe('79000 Niort')
})
})
describe('startPoint — siteOptionLabel', () => {
it('formate « nom — code postal »', () => {
expect(siteOptionLabel(site())).toBe('Châtellerault — 86100')
})
})