From 52730f0f758670fe9852ad8744cc1e81048a931a Mon Sep 17 00:00:00 2001 From: Bastien DUMONT <bdumont@grandlyon.com> Date: Mon, 6 Mar 2023 15:47:47 +0100 Subject: [PATCH] throw new error --- __tests__/requests/insee.spec.js | 7 +++++++ src/requests/insee.js | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/__tests__/requests/insee.spec.js b/__tests__/requests/insee.spec.js index 935db10..057c0bd 100644 --- a/__tests__/requests/insee.spec.js +++ b/__tests__/requests/insee.spec.js @@ -50,6 +50,13 @@ describe('getInseeCode', () => { '69153' ) }) + it('should throw USER_ACTION_NEEDED when city is not precise enough', async () => { + try { + await getInseeCode(26600, 'e') + } catch (error) { + expect(error).toEqual(errors.USER_ACTION_NEEDED) + } + }) }) it("should return insee code for: L'isle d'abeau", async () => { diff --git a/src/requests/insee.js b/src/requests/insee.js index 710560f..04f4f99 100644 --- a/src/requests/insee.js +++ b/src/requests/insee.js @@ -27,6 +27,12 @@ async function getInseeCode(postalCode, city) { sanitizeCity(commune.nomCommune).includes(parsedCity) ) + if (filteredResponse.length > 1) { + throw new Error( + 'Input city is not precise enough, more than one city was found' + ) + } + return filteredResponse[0].codeCommune } } catch (error) { -- GitLab