major refactor (untested)
This commit is contained in:
parent
a29412b4da
commit
a77a0c0393
22 changed files with 1037 additions and 24 deletions
38
tests/test_error_rate_plot.py
Normal file
38
tests/test_error_rate_plot.py
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
import os
|
||||
import pytest
|
||||
from unittest.mock import patch, mock_open
|
||||
from archive.test_errorrate_runner import generate_error_rate_plot
|
||||
|
||||
@pytest.fixture
|
||||
def mock_data_dir(tmp_path):
|
||||
"""Fixture to create a temporary data directory."""
|
||||
data_dir = tmp_path / "data"
|
||||
data_dir.mkdir()
|
||||
return data_dir
|
||||
|
||||
@patch("builtins.open", new_callable=mock_open, read_data="{}")
|
||||
@patch("os.path.exists", return_value=True)
|
||||
def test_generate_error_rate_plot_no_data(mock_exists, mock_open, mock_data_dir):
|
||||
"""Test generate_error_rate_plot with no data."""
|
||||
plot_path, summary = generate_error_rate_plot(str(mock_data_dir / "applications.json"))
|
||||
assert plot_path is None
|
||||
assert summary == ""
|
||||
|
||||
@patch("builtins.open", new_callable=mock_open)
|
||||
@patch("os.path.exists", return_value=True)
|
||||
@patch("matplotlib.pyplot.savefig")
|
||||
def test_generate_error_rate_plot_with_data(mock_savefig, mock_exists, mock_open, mock_data_dir):
|
||||
"""Test generate_error_rate_plot with valid data."""
|
||||
mock_open.return_value.read.return_value = """
|
||||
{
|
||||
"1": {"timestamp": "2025-12-25T12:00:00", "company": "CompanyA", "success": true},
|
||||
"2": {"timestamp": "2025-12-26T12:00:00", "company": "CompanyB", "success": false}
|
||||
}
|
||||
"""
|
||||
plot_path, summary = generate_error_rate_plot(str(mock_data_dir / "applications.json"))
|
||||
assert plot_path is not None
|
||||
assert "Total attempts" in summary
|
||||
assert "Successes" in summary
|
||||
assert "Failures" in summary
|
||||
assert "Overall error rate" in summary
|
||||
mock_savefig.assert_called_once()
|
||||
Loading…
Add table
Add a link
Reference in a new issue