Skip to content

Commit

Permalink
Add tests
Browse files Browse the repository at this point in the history
  • Loading branch information
aanil committed Jun 20, 2024
1 parent 6e654b2 commit b23f81b
Showing 1 changed file with 26 additions and 4 deletions.
30 changes: 26 additions & 4 deletions tests/test_ngi_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,28 @@ def test_data_loc_not_dir(mock_status, tmp_path, get_env_file_path):
ngi_data.ProjectDataMaster(config_values)


def test_get_data_with_no_project_dates(data_repo_full, mocked_statusdb_conn_rows, caplog, get_env_file_path):
def test_get_data_with_no_project_dates_closed(data_repo_full, mocked_statusdb_conn_rows, caplog, get_env_file_path):
"""Test log output when no project dates are found in statusdb for a Closed project"""
from copy import deepcopy

config_values = config.Config(get_env_file_path)
with mock.patch("daily_read.statusdb.StatusDBSession"):
data_master = ngi_data.ProjectDataMaster(config_values)
data_master.sources[0].statusdb_session.rows.return_value = mocked_statusdb_conn_rows
proj_no_dates = deepcopy(data_master.sources[0].statusdb_session.rows.return_value[1])
proj_no_dates.value["proj_dates"] = {}
proj_no_dates.value["portal_id"] = "NGI123459"
proj_no_dates.value["project_id"] = "NGI123459"
proj_no_dates.key[1] = "NGI123459"
data_master.sources[0].statusdb_session.rows.return_value.append(proj_no_dates)
with caplog.at_level(logging.INFO):
data_master.get_data("NGI123459")
assert len(data_master.data.keys()) == 1
assert "NGI123459" in data_master.data
assert "No project dates found for NGI123459, trying to find status from internal_proj_status" in caplog.text
assert data_master.data["NGI123459"].status == "Closed"

def test_get_data_with_no_project_dates_ongoing(data_repo_full, mocked_statusdb_conn_rows, caplog, get_env_file_path):
"""Test log output when no project dates are found in statusdb for a specific project"""
from copy import deepcopy

Expand All @@ -224,14 +245,15 @@ def test_get_data_with_no_project_dates(data_repo_full, mocked_statusdb_conn_row
proj_no_dates = deepcopy(data_master.sources[0].statusdb_session.rows.return_value[0])
proj_no_dates.value["proj_dates"] = {}
proj_no_dates.value["portal_id"] = "NGI123459"
proj_no_dates.value["project_id"] = "NGI123459"
proj_no_dates.key[1] = "NGI123459"
data_master.sources[0].statusdb_session.rows.return_value.append(proj_no_dates)
with caplog.at_level(logging.INFO):
data_master.get_data("NGI123459")
assert len(data_master.data.keys()) == 1
assert "NGI123459" in data_master.data
assert "No project dates found for NGI123459, so setting its status to Pending" in caplog.text
assert data_master.data["NGI123459"].status == "Pending"

assert "No project dates found for NGI123459, trying to find status from internal_proj_status" in caplog.text
assert "ERROR! No project dates or incorrect internal_proj_status found for NGI123459, no status set!" in caplog.text

def test_skip_order_with_no_year(data_repo_full, mocked_statusdb_conn_rows, caplog, get_env_file_path):
"""Test that orders with no order year (i.e. with no contract signed) are skipped"""
Expand Down

0 comments on commit b23f81b

Please sign in to comment.