Add vergunningzoeker tests (Red phase)

This commit is contained in:
Druppie Agent 2026-06-11 11:42:54 +00:00
parent 8a8bbdbd97
commit 05a0d457ea
2 changed files with 47 additions and 0 deletions

15
tests/conftest.py Normal file
View File

@ -0,0 +1,15 @@
import os
os.environ["DATABASE_URL"] = "sqlite:///test.db"
import pytest
from app import create_app
from app.database import Base, engine
@pytest.fixture
def client():
app = create_app()
app.config["TESTING"] = True
Base.metadata.create_all(bind=engine)
with app.test_client() as client:
yield client
Base.metadata.drop_all(bind=engine)

32
tests/test_routes.py Normal file
View File

@ -0,0 +1,32 @@
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