"""Tests for the upload page route.""" from pathlib import Path import pytest from fastapi.testclient import TestClient from transcription.app import create_app from transcription.config import Settings from transcription.config import _settings @pytest.fixture def client(tmp_path: Path): """Provide a real app client backed by in-memory SQLite.""" settings = Settings( openrouter_api_key="test-key", database_url="sqlite:///:memory:", environment="test", upload_dir=tmp_path / "uploads", prompt_dir=tmp_path / "prompts", ) _settings.set(settings) app = create_app() with TestClient(app) as test_client: yield test_client @pytest.mark.integration class TestPageRendering: """Verify the upload page is available and includes the main controls.""" def test_upload_page_renders_expected_controls(self, client): """GET /ui/upload returns the page shell and upload controls.""" response = client.get("/ui/upload") assert response.status_code == 200 assert "Upload Document" in response.text assert "Select document file" in response.text assert "View jobs" in response.text