diff --git a/__tests__/requests/insee.spec.js b/__tests__/requests/insee.spec.js index 057c0bd3e2dd109972e361ecaab600fd5b7f3368..f8b82a568521478f1b328c10c8546040ab82d8ce 100644 --- a/__tests__/requests/insee.spec.js +++ b/__tests__/requests/insee.spec.js @@ -75,6 +75,18 @@ describe('getInseeCode', () => { expect(await getInseeCode('69530', 'Brignais')).toEqual('69027') }) + it('should return insee code for: Saint-Christophe-à-Berry', async () => { + expect(await getInseeCode('02290', 'Saint-Christophe-à-Berry')).toEqual( + '02673' + ) + }) + + it('should return insee code for: Saint-Christophe-a-Berry', async () => { + expect(await getInseeCode('02290', 'Saint-Christophe-a-Berry')).toEqual( + '02673' + ) + }) + describe('should handle communes with "Saint" or "St"', () => { it("should return insee code for: Saint Romain au Mont d'Or", async () => { expect(await getInseeCode(69270, "Saint Romain au Mont d'Or")).toEqual( @@ -163,5 +175,14 @@ describe('getInseeCode', () => { ) }) }) + + describe('should return correct insee code for Bréançon', () => { + it('should return insee code for: Bréançon', async () => { + expect(await getInseeCode(95640, 'Bréançon')).toEqual('95102') + }) + it('should return insee code for: Breancon', async () => { + expect(await getInseeCode(95640, 'Breancon')).toEqual('95102') + }) + }) }) }) diff --git a/src/requests/insee.js b/src/requests/insee.js index 04f4f99e589c0234f14d62bf8f0b29afd2b726e8..10cb96e41d02e91b9d1b38f114b8c5e160d6a378 100644 --- a/src/requests/insee.js +++ b/src/requests/insee.js @@ -52,7 +52,7 @@ function sanitizeCity(city) { return city .toLowerCase() .replace(/\bst\b/i, 'saint') - .replace(/[âêîôûäëïü-\sʼ'’éèç]/g, match => REPLACE_CHARS[match]) + .replace(/[âêîôûäëïöü-\sʼ'’éàèç]/g, match => REPLACE_CHARS[match]) .trim() } @@ -73,6 +73,7 @@ const REPLACE_CHARS = { "'": '', '’': '', é: 'e', + à: 'a', è: 'e', ç: 'c', }