From 0e177a9d0103af8dd75f38858349a14d3d161acd Mon Sep 17 00:00:00 2001 From: Samuel ORTION Date: Fri, 26 Aug 2022 11:58:41 +0200 Subject: [PATCH] test: eBird.js first test passed using jest promise handling --- src/index.js | 22 ++++++++++------------ test/ebird.test.js | 26 ++++++++------------------ 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/src/index.js b/src/index.js index 8d2a289..afcff39 100644 --- a/src/index.js +++ b/src/index.js @@ -1,31 +1,28 @@ const axios = require('axios'); +const debug = require('debug')('ebird:api'); module.exports = function (EBIRD_API_KEY) { const BASE_URL = "https://api.ebird.org/v2" let key = EBIRD_API_KEY; function query(endpoint, params) { - let data = undefined; - axios.get(`${BASE_URL}/${endpoint}`, { + debug(`querying to ${BASE_URL}/${endpoint}`); + if (params === undefined) { + params = {}; + } + return axios.get(`${BASE_URL}/${endpoint}`, { headers: { 'X-eBirdApiToken': key }, params: { ...params } - }).then((response) => { - console.log('GET response'); - data = response.data; - }).catch((error) => { - console.error(error); - }); - return data; + }).then((response) => {return response.data}) + .catch((error) => {throw error}) } function get(endpoint) { - return params => { - query(endpoint, params); - } + return (params) => query(endpoint, params) } const api = { @@ -124,4 +121,5 @@ module.exports = function (EBIRD_API_KEY) { }, }, } + return api; }; \ No newline at end of file diff --git a/test/ebird.test.js b/test/ebird.test.js index 89cd0e3..448770b 100644 --- a/test/ebird.test.js +++ b/test/ebird.test.js @@ -1,20 +1,10 @@ -const ebird = require('../src/index'); -require('dotenv').config; +require('dotenv').config(); +const ebird = require('../src/index')(process.env.EBIRD_API_KEY); + test('/data/obs/${regionCode}/recent for location France', () => { - let data = ebird.data.obs.recent.in('FR')(); - console.log(data); -}); - - -// test('get subregions from region code and type', () => { -// let regionType = "country"; -// let regionCode = "world"; -// let regions = ebird.get_regions(regionType, regionCode); -// expect(regions).toContain({ code: 'FR', name: 'France' }); -// }); - -// test('get region code from coordinates', () => { -// let regionCode = ebird.coordinates2region(47.87842, 0.21826); -// console.log(regionCode); -// }); + const data = ebird.data.obs.recent.in('FR')(); + return data.then(data=>{ + expect(data.length).toBeGreaterThan(0); + }) +}); \ No newline at end of file