Files
spectra/tests/test_gallery.py

39 lines
1.1 KiB
Python

import io
from PIL import Image as PILImage
def _upload_image(client, filename="test_photo.jpg", color=(128, 64, 200)):
img = PILImage.new("RGB", (800, 600), color=color)
buf = io.BytesIO()
img.save(buf, format="JPEG")
buf.seek(0)
return client.post(
"/api/images",
data={"file": (buf, filename)},
content_type="multipart/form-data",
)
class TestGalleryDelete:
def test_upload_delete_flow(self, client):
resp = _upload_image(client)
assert resp.status_code == 201
data = resp.get_json()
image_id = data["id"]
resp = client.get("/api/images")
assert resp.status_code == 200
data = resp.get_json()
total_before = data["total"]
assert total_before >= 1
resp = client.delete(f"/api/images/{image_id}")
assert resp.status_code == 200
assert resp.get_json() == {"status": "deleted"}
resp = client.get("/api/images")
assert resp.status_code == 200
data = resp.get_json()
assert data["total"] == total_before - 1