Keep manual redisplays separate from random task cloud heads

This commit is contained in:
Pigway
2026-10-06 09:34:05 +08:00
parent 180b6ae100
commit 60f42fb58c
2 changed files with 40 additions and 2 deletions
+24
View File
@@ -144,3 +144,27 @@ def test_clear_cloud_requires_confirmation_and_clears_current(client, service):
for _ in range(before):
assert service.process_one()
assert not service.registry.get("living-room").images()
def test_manual_display_does_not_replace_task_head(client, service, settings):
setup_photos(service, settings)
job = make_job(client, "A")
first, asset = run(client, service, job)
second, _ = run(client, service, job)
client.put(f"/api/v1/assets/{asset}/star", json={"starred": True})
response = client.post(
"/api/v1/display", json={"content": {"type": "image", "asset_id": asset}}
)
service.process_one()
service.sync()
op = client.get("/api/v1/operations/" + response.json()["operation_id"]).json()
row = service.db.one(
"SELECT job_id FROM managed_cloud_uploads WHERE image_id=?",
(op["result"]["image_id"],),
)
assert row["job_id"] is None
assert service.cloud_library.retained(
service.db.one(
"SELECT * FROM managed_cloud_uploads WHERE image_id=?", (second,)
)
)