diff --git a/src/cards/wakatime-card.js b/src/cards/wakatime-card.js index 54093ec0..905e40a0 100644 --- a/src/cards/wakatime-card.js +++ b/src/cards/wakatime-card.js @@ -123,7 +123,7 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => { } = options; const shouldHideLangs = Array.isArray(hide) && hide.length > 0; - if (shouldHideLangs) { + if (shouldHideLangs && languages !== undefined) { const languagesToHide = new Set(hide.map((lang) => lowercaseTrim(lang))); languages = languages.filter( (lang) => !languagesToHide.has(lowercaseTrim(lang.name)), @@ -138,7 +138,7 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => { const lheight = parseInt(line_height, 10); - langsCount = clampValue(parseInt(langs_count), 1, langs_count); + const langsCount = clampValue(parseInt(langs_count), 1, langs_count); // returns theme based colors with proper overrides and defaults const { diff --git a/tests/renderWakatimeCard.test.js b/tests/renderWakatimeCard.test.js index 658c52df..51d63e6c 100644 --- a/tests/renderWakatimeCard.test.js +++ b/tests/renderWakatimeCard.test.js @@ -46,4 +46,12 @@ describe("Test Render Wakatime Card", () => { document.body.innerHTML = renderWakatimeCard(wakaTimeData.data, {}); expect(document.querySelector("rect")).toHaveAttribute("rx", "4.5"); }); + + it('should show "no coding activitiy this week" message when there hasn not been activity', () => { + document.body.innerHTML = renderWakatimeCard({ + ...wakaTimeData.data, + languages: undefined + }, {}); + expect(document.querySelector(".stat").textContent).toBe("No coding activity this week") + }) });