import { describe, expect, it } from 'vitest' import { dedupe } from '../../server/utils/geocoding' const place = (label: string, lat: number, lon: number) => ({ label, lat, lon }) describe('dedupe', () => { it('elimine deux entrees au meme libelle', () => { expect(dedupe([place('Lille', 50.63, 3.05), place('lille', 47.1, 2.2)])).toHaveLength(1) }) it('elimine deux entrees a la meme position malgre des libelles differents', () => { const r = dedupe([ place('Bruxelles, Belgique', 50.846, 4.352), place('Bruxelles-Capitale, Belgique', 50.848, 4.351), ]) expect(r).toHaveLength(1) }) it('conserve deux villes homonymes reellement distinctes', () => { const r = dedupe([place('Lille, France', 50.63, 3.05), place('Lille, Belgique', 50.72, 3.20)]) expect(r).toHaveLength(2) }) it('preserve l ordre d entree', () => { const r = dedupe([place('A', 1, 1), place('B', 2, 2), place('C', 3, 3)]) expect(r.map(p => p.label)).toEqual(['A', 'B', 'C']) }) })