From 8cf47f5c896d4fbf30fc332a23b6156e4ca99a95 Mon Sep 17 00:00:00 2001 From: Kawa Date: Mon, 13 Apr 2026 08:57:20 +0200 Subject: [PATCH] test(07-01): add failing tests for /packages route and dashboard data - test_packages_returns_200 asserts /packages returns 200 - test_dashboard_shows_recent_printers verifies recent printers rendered - test_dashboard_shows_recent_packages verifies only driver-assigned printers shown --- tests/test_static.py | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/tests/test_static.py b/tests/test_static.py index 1cbeb9e..d3fb753 100644 --- a/tests/test_static.py +++ b/tests/test_static.py @@ -35,3 +35,59 @@ def test_dashboard_returns_200(client): """GET / returns 200 (dashboard page).""" response = client.get("/") assert response.status_code == 200 + + +def test_packages_returns_200(client): + """GET /packages returns 200 (packages listing page).""" + response = client.get("/packages") + assert response.status_code == 200 + + +def test_dashboard_shows_recent_printers(client): + """Dashboard renders names of recently-created printers from DB.""" + from imptune.db.models import Printer + + Printer.create( + name="TestPrinter-Alpha", + ip_address="10.0.0.1", + port_name="IP_10.0.0.1", + ) + Printer.create( + name="TestPrinter-Beta", + ip_address="10.0.0.2", + port_name="IP_10.0.0.2", + ) + + response = client.get("/") + assert response.status_code == 200 + assert "TestPrinter-Alpha" in response.text + assert "TestPrinter-Beta" in response.text + assert "No printers configured yet" not in response.text + + +def test_dashboard_shows_recent_packages(client): + """Dashboard recent-packages section shows only printers with a driver assigned.""" + from imptune.db.models import Driver, Printer + + driver = Driver.create( + sha256="abc123", + original_filename="test.zip", + size_bytes=1000, + driver_desc='["TestDriver"]', + ) + Printer.create( + name="PkgPrinter-Assigned", + ip_address="10.0.0.2", + port_name="IP_10.0.0.2", + driver=driver, + ) + Printer.create( + name="PkgPrinter-NoDriver", + ip_address="10.0.0.3", + port_name="IP_10.0.0.3", + ) + + response = client.get("/") + assert response.status_code == 200 + assert "PkgPrinter-Assigned" in response.text + assert "No packages exported yet" not in response.text