twitch-byte-bot / dashboard /tests /studio_theme.test.js
JuanCS-Dev's picture
Deploy: streamer Stream Deck dashboard at /studio
a93f6a2 verified
Raw History Blame Contribute Delete
805 Bytes
import assert from "node:assert/strict";
import test from "node:test";
import { THEMES, nextTheme, resolveTheme } from "../features/studio/theme.js";
test("resolveTheme defaults invalid/empty to auto", () => {
assert.equal(resolveTheme(null), "auto");
assert.equal(resolveTheme("nonsense"), "auto");
assert.equal(resolveTheme("dark"), "dark");
});
test("nextTheme cycles auto -> light -> dark -> auto", () => {
assert.equal(nextTheme("auto"), "light");
assert.equal(nextTheme("light"), "dark");
assert.equal(nextTheme("dark"), "auto");
});
test("nextTheme normalizes invalid input first", () => {
assert.equal(nextTheme("garbage"), "light"); // treated as auto -> light
});
test("THEMES are the three supported modes", () => {
assert.deepEqual(THEMES, ["auto", "light", "dark"]);
});