Add pagination, device detail unassign-all, and batch install with slot limit

This commit is contained in:
2026-04-30 18:31:48 -05:00
parent 3b2029d3b8
commit 4ec7d22138
5 changed files with 200 additions and 22 deletions
+29
View File
@@ -807,3 +807,32 @@ def test_full_roundtrip_export_import(client):
content_type="multipart/form-data")
assert resp.status_code == 200
assert b"Import Results" in resp.data
def test_device_detail_unassign_all(seeded_client):
client = seeded_client
# install battery 1 into device 1 (2-slot AA device)
client.post("/device/1/install-one", data={"battery_id": "1"})
# unassign all from device detail, redirecting back to device detail
resp = client.post(
"/device/1/unassign-all",
data={"next": "/device/1"},
follow_redirects=True,
)
assert resp.status_code == 200
assert b"Unassigned" in resp.data
# device detail should now show 0 installed
assert b"0 / 2" in resp.data
def test_device_install_batch(seeded_client):
client = seeded_client
# batteries 1 (BrandX AA) and 2 (BrandY AA) are available; device 1 has 2 slots
resp = client.post(
"/device/1/install-batch",
data={"battery_ids": ["1", "2"]},
follow_redirects=True,
)
assert resp.status_code == 200
assert b"Installed 2" in resp.data
assert b"2 / 2" in resp.data