import pytest

from backend.app.models import ImageRecord

pytestmark = pytest.mark.integration


@pytest.mark.asyncio
async def test_showcase_returns_images(client, db):
    for i in range(8):
        db.add(ImageRecord(
            path=f"/images/sc/{i}.jpg", sha256=f"c{i:063d}",
            size_bytes=1, mime="image/jpeg", width=10, height=10,
            origin="imported_filesystem", integrity_status="unknown",
        ))
    await db.flush()
    await db.commit()
    resp = await client.get("/api/showcase?limit=4")
    assert resp.status_code == 200
    body = await resp.get_json()
    assert "images" in body and len(body["images"]) <= 4


@pytest.mark.asyncio
async def test_showcase_rejects_bad_limit(client):
    resp = await client.get("/api/showcase?limit=oops")
    assert resp.status_code == 400
