From 04ebe54bfa1f097a0f94eb3c0b839299cabfa226 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 23 Sep 2026 12:27:52 -0700 Subject: [PATCH] add coverage --- src/widgets/gitea/widget.test.js | 11 ++++++++++- src/widgets/miniflux/widget.test.js | 10 +++++++++- src/widgets/radarr/widget.test.js | 23 +++++++++++++++++++++++ src/widgets/unmanic/widget.test.js | 10 +++++++++- 4 files changed, 51 insertions(+), 3 deletions(-) diff --git a/src/widgets/gitea/widget.test.js b/src/widgets/gitea/widget.test.js index 75395c126..1039ad7ce 100644 --- a/src/widgets/gitea/widget.test.js +++ b/src/widgets/gitea/widget.test.js @@ -1,4 +1,4 @@ -import { describe, it } from "vitest"; +import { describe, expect, it } from "vitest"; import { expectWidgetConfigShape } from "test-utils/widget-config"; @@ -8,4 +8,13 @@ describe("gitea widget config", () => { it("exports a valid widget config", () => { expectWidgetConfigShape(widget); }); + + it("splits issues and pull requests", () => { + const result = widget.mappings.issues.map( + Buffer.from(JSON.stringify([{ id: 1, pull_request: {} }, { id: 2 }, { id: 3 }])), + ); + + expect(result.pulls.map((i) => i.id)).toEqual([1]); + expect(result.issues.map((i) => i.id)).toEqual([2, 3]); + }); }); diff --git a/src/widgets/miniflux/widget.test.js b/src/widgets/miniflux/widget.test.js index 62f7ad9b6..272d1fc64 100644 --- a/src/widgets/miniflux/widget.test.js +++ b/src/widgets/miniflux/widget.test.js @@ -1,4 +1,4 @@ -import { describe, it } from "vitest"; +import { describe, expect, it } from "vitest"; import { expectWidgetConfigShape } from "test-utils/widget-config"; @@ -8,4 +8,12 @@ describe("miniflux widget config", () => { it("exports a valid widget config", () => { expectWidgetConfigShape(widget); }); + + it("sums read and unread counters", () => { + const result = widget.mappings.counters.map( + Buffer.from(JSON.stringify({ reads: { 1: 2, 2: 3 }, unreads: { 1: 4, 2: 1 } })), + ); + + expect(result).toEqual({ read: 5, unread: 5 }); + }); }); diff --git a/src/widgets/radarr/widget.test.js b/src/widgets/radarr/widget.test.js index c7a19f39b..9e19aecfa 100644 --- a/src/widgets/radarr/widget.test.js +++ b/src/widgets/radarr/widget.test.js @@ -33,4 +33,27 @@ describe("radarr widget config", () => { expect(queue.map((entry) => entry.movieId)).toEqual([2, 1]); }); + + it("maps movie counts and titles", () => { + const movies = widget.mappings.movie.map( + Buffer.from( + JSON.stringify([ + { id: 1, title: "A", monitored: true, hasFile: false, isAvailable: true }, + { id: 2, title: "B", monitored: true, hasFile: true }, + { id: 3, title: "C", monitored: true, hasFile: false, isAvailable: false }, + ]), + ), + ); + + expect(movies).toEqual({ + wanted: 1, + have: 1, + missing: 2, + all: [ + { title: "A", id: 1 }, + { title: "B", id: 2 }, + { title: "C", id: 3 }, + ], + }); + }); }); diff --git a/src/widgets/unmanic/widget.test.js b/src/widgets/unmanic/widget.test.js index 2997a66b6..f153a6032 100644 --- a/src/widgets/unmanic/widget.test.js +++ b/src/widgets/unmanic/widget.test.js @@ -1,4 +1,4 @@ -import { describe, it } from "vitest"; +import { describe, expect, it } from "vitest"; import { expectWidgetConfigShape } from "test-utils/widget-config"; @@ -8,4 +8,12 @@ describe("unmanic widget config", () => { it("exports a valid widget config", () => { expectWidgetConfigShape(widget); }); + + it("counts total and active workers", () => { + const result = widget.mappings.workers.map( + Buffer.from(JSON.stringify({ workers_status: [{ idle: true }, { idle: false }, { idle: false }] })), + ); + + expect(result).toEqual({ total_workers: 3, active_workers: 2 }); + }); });