from __future__ import annotations from fastapi.testclient import TestClient from models import MiningOperationType class TestDashboardRoute: def test_renders_empty_state(self, client: TestClient) -> None: response = client.get("/") assert response.status_code == 200 html = response.text assert "No recent projects" in html assert "No simulation runs yet" in html assert "All scenarios look good" in html assert "—" in html # Last data import placeholder class TestProjectUIRoutes: def test_projects_ui_page_resolves(self, client: TestClient) -> None: create_payload = { "name": "UI Project", "location": "Peru", "operation_type": MiningOperationType.OPEN_PIT.value, "description": "Project for UI validation", } client.post("/projects", json=create_payload) response = client.get("/projects/ui") assert response.status_code == 200 assert "Projects" in response.text assert "project-card" in response.text def test_projects_create_form_resolves(self, client: TestClient) -> None: response = client.get("/projects/create") assert response.status_code == 200 assert "Create Project" in response.text