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:
@@ -49,6 +49,32 @@ def test_generate_report_with_values():
|
||||
assert math.isclose(float(report["expected_shortfall_95"]), 10.0)
|
||||
|
||||
|
||||
def test_generate_report_single_value():
|
||||
report = generate_report([
|
||||
{"iteration": 1, "result": 42.0},
|
||||
])
|
||||
assert report["count"] == 1
|
||||
assert report["std_dev"] == 0.0
|
||||
assert report["variance"] == 0.0
|
||||
assert report["percentile_10"] == 42.0
|
||||
assert report["expected_shortfall_95"] == 42.0
|
||||
|
||||
|
||||
def test_generate_report_ignores_invalid_entries():
|
||||
raw_values: List[Any] = [
|
||||
{"iteration": 1, "result": 10.0},
|
||||
"not-a-mapping",
|
||||
{"iteration": 2},
|
||||
{"iteration": 3, "result": None},
|
||||
{"iteration": 4, "result": 20},
|
||||
]
|
||||
report = generate_report(raw_values)
|
||||
assert report["count"] == 2
|
||||
assert math.isclose(float(report["mean"]), 15.0)
|
||||
assert math.isclose(float(report["min"]), 10.0)
|
||||
assert math.isclose(float(report["max"]), 20.0)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def client(api_client: TestClient) -> TestClient:
|
||||
return api_client
|
||||
|
||||
Reference in New Issue
Block a user