vergunningzoeker-cfb8aac7/tests/test_routes.py

33 lines
1.2 KiB
Python

import io
import pytest
from unittest.mock import patch
def test_upload_permit(client):
"""File upload should trigger OCR + classification via SDK."""
with patch("app.routes.druppie") as mock_druppie:
mock_druppie.call.side_effect = [
{"text": "Vergunning K-2019-0042. Aanvrager: J. de Vries. Lozing oppervlaktewater."},
{"answer": "watervergunning_lozing"},
]
data = {
"file": (io.BytesIO(b"fake image data"), "scan.jpg"),
"permit_number": "K-2019-0042",
"applicant_name": "J. de Vries",
}
resp = client.post("/api/permits/upload",
data=data, content_type="multipart/form-data")
assert resp.status_code == 200
result = resp.get_json()
assert "extracted_text" in result
assert mock_druppie.call.call_count == 2
def test_search_permits(client):
"""Search should return matching permits."""
resp = client.get("/api/permits/search?q=test")
assert resp.status_code == 200
def test_list_permits(client):
"""List should return all permits."""
resp = client.get("/api/permits")
assert resp.status_code == 200