Enhance testing framework and UI feedback
- Updated architecture documentation to include details on UI rendering checks and Playwright end-to-end tests. - Revised testing documentation to specify Playwright for frontend E2E tests and added details on running tests. - Implemented feedback mechanism in scenario form for successful creation notifications. - Added feedback div in ScenarioForm.html for user notifications. - Created new fixtures for Playwright tests to manage server and browser instances. - Developed comprehensive E2E tests for consumption, costs, equipment, maintenance, production, and scenarios. - Added smoke tests to verify UI page loading and form submissions. - Enhanced unit tests for simulation and validation, including new tests for report generation and validation errors. - Created new test files for router validation to ensure consistent error handling. - Established a new test suite for UI routes to validate dashboard and reporting functionalities. - Implemented validation tests to ensure proper handling of JSON payloads.
This commit is contained in:
28
tests/unit/test_validation.py
Normal file
28
tests/unit/test_validation.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from uuid import uuid4
|
||||
|
||||
import pytest
|
||||
from fastapi import HTTPException
|
||||
from fastapi.testclient import TestClient
|
||||
|
||||
|
||||
def test_validate_json_allows_valid_payload(api_client: TestClient) -> None:
|
||||
payload = {
|
||||
"name": f"ValidJSON-{uuid4()}",
|
||||
"description": "Middleware should allow valid JSON.",
|
||||
}
|
||||
response = api_client.post("/api/scenarios/", json=payload)
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["name"] == payload["name"]
|
||||
|
||||
|
||||
def test_validate_json_rejects_invalid_payload(api_client: TestClient) -> None:
|
||||
with pytest.raises(HTTPException) as exc_info:
|
||||
api_client.post(
|
||||
"/api/scenarios/",
|
||||
content=b"{not valid json",
|
||||
headers={"Content-Type": "application/json"},
|
||||
)
|
||||
|
||||
assert exc_info.value.status_code == 400
|
||||
assert exc_info.value.detail == "Invalid JSON payload"
|
||||
Reference in New Issue
Block a user