mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-10-17 19:36:28 +02:00
Add virtual printer Queue mode and sidebar badge indicators
Virtual Printer Changes: - Add new "Queue" mode that archives files and adds them to print queue - Rename modes: "Immediate" → "Archive", "Queue for Review" → "Review" - Three modes now: Archive (immediate), Review (pending), Queue (print queue) - Queue mode creates unassigned queue items (printer_id=null) Print Queue Changes: - Make printer_id nullable in PrintQueueItem model/schema - Add support for unassigned queue items (no printer assigned) - Queue page shows "Unassigned" filter option - Edit modal allows assigning printer to unassigned items - Unassigned items highlighted in orange Sidebar Badge Indicators: - Queue icon shows yellow badge with pending queue item count - Archive icon shows blue badge with pending upload count - Badges auto-update every 5 seconds and on window focus Other: - Update backup/restore to handle nullable printer_id and ams_mapping - Add database migration for nullable printer_id column - Update VirtualPrinterSettings tests for new modes - Update virtual printer API integration tests - Remove speed controls documentation from wiki (not implemented)
This commit is contained in:
@@ -53,11 +53,31 @@ class TestVirtualPrinterSettingsAPI:
|
||||
@pytest.mark.integration
|
||||
async def test_update_mode(self, async_client: AsyncClient):
|
||||
"""Verify mode can be updated."""
|
||||
response = await async_client.put("/api/v1/settings/virtual-printer?mode=review")
|
||||
|
||||
assert response.status_code == 200
|
||||
result = response.json()
|
||||
assert result["mode"] == "review"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.integration
|
||||
async def test_update_mode_to_print_queue(self, async_client: AsyncClient):
|
||||
"""Verify mode can be set to print_queue."""
|
||||
response = await async_client.put("/api/v1/settings/virtual-printer?mode=print_queue")
|
||||
|
||||
assert response.status_code == 200
|
||||
result = response.json()
|
||||
assert result["mode"] == "print_queue"
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.integration
|
||||
async def test_update_mode_legacy_queue_maps_to_review(self, async_client: AsyncClient):
|
||||
"""Verify legacy 'queue' mode is normalized to 'review'."""
|
||||
response = await async_client.put("/api/v1/settings/virtual-printer?mode=queue")
|
||||
|
||||
assert response.status_code == 200
|
||||
result = response.json()
|
||||
assert result["mode"] == "queue"
|
||||
assert result["mode"] == "review" # Legacy queue maps to review
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@pytest.mark.integration
|
||||
|
||||
Reference in New Issue
Block a user