diff --git a/src/fetchers/wakatime-fetcher.js b/src/fetchers/wakatime-fetcher.js index 35de940..41ea22f 100644 --- a/src/fetchers/wakatime-fetcher.js +++ b/src/fetchers/wakatime-fetcher.js @@ -1,11 +1,20 @@ const axios = require("axios"); const fetchLast7Days = async ({ username }) => { - const { data } = await axios.get( - `https://wakatime.com/api/v1/users/${username}/stats/last_7_days?is_including_today=true`, - ); + try { + const { data } = await axios.get( + `https://wakatime.com/api/v1/users/${username}/stats/last_7_days?is_including_today=true`, + ); - return data.data; + return data.data; + } catch (err) { + if (err.response.status === 404) { + throw new Error( + "Wakatime user not found, make sure you have a wakatime profile", + ); + } + throw err; + } }; module.exports = { diff --git a/tests/fetchWakatime.test.js b/tests/fetchWakatime.test.js index 079f99b..16db025 100644 --- a/tests/fetchWakatime.test.js +++ b/tests/fetchWakatime.test.js @@ -207,7 +207,7 @@ describe("Wakatime fetcher", () => { mock.onGet(/\/https:\/\/wakatime\.com\/api/).reply(404, wakaTimeData); await expect(fetchLast7Days("noone")).rejects.toThrow( - "Request failed with status code 404", + "Wakatime user not found, make sure you have a wakatime profile", ); }); });