From 15e384bc1d97c84df0545555bf4c298702c9eacb Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 9 Nov 2026 19:08:51 +0100 Subject: feat: card headers, music art/seek, clearer build card --- tests/test_music.py | 12 ++++++++++++ tests/test_server.py | 7 +++++++ 2 files changed, 19 insertions(+) (limited to 'tests') diff --git a/tests/test_music.py b/tests/test_music.py index 675e72b..e073e59 100644 --- a/tests/test_music.py +++ b/tests/test_music.py @@ -25,6 +25,18 @@ class Music(unittest.TestCase): def test_action_commands(self): self.assertEqual(music.BASE_ACTIONS["next"], ["playerctl", "next"]) + def test_seek_runs_playerctl(self): + calls = [] + m = music.make({"run": lambda *a, **k: "", "popen": calls.append}) + m.actions["seek"]({"position": 12.34}) + self.assertEqual(calls[0], ["playerctl", "position", "12.3"]) + + def test_seek_rejects_bad_positions(self): + m = music.make({"run": lambda *a, **k: "", "popen": lambda cmd: None}) + for bad in ({}, {"position": -1}, {"position": "x"}): + with self.assertRaises(music.ModuleError, msg=bad): + m.actions["seek"](bad) + if __name__ == "__main__": unittest.main() diff --git a/tests/test_server.py b/tests/test_server.py index bf571a6..3340398 100644 --- a/tests/test_server.py +++ b/tests/test_server.py @@ -91,6 +91,13 @@ class Server(unittest.TestCase): h = {**HOST, **ORIGIN, "Content-Type": "application/json"} self.assertEqual(self.req("POST", "/api/demo/boom", h, '{"x": null}')[0], 400) + def test_art_route(self): + from unittest import mock + with mock.patch.object(srv, "art", return_value=(b"PNGDATA", "image/png")): + status, body = self.req("GET", "/api/art", HOST) + self.assertEqual(status, 200) + self.assertEqual(body, b"PNGDATA") + if __name__ == "__main__": unittest.main() -- cgit v1.2.3