lecheminvert.tech/test/unit/geocoding.spec.ts

28 lines
1,013 B
TypeScript
Raw Permalink Normal View History

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'])
})
})