Skip to content
Snippets Groups Projects
Commit 568c07d1 authored by Neda Moeini's avatar Neda Moeini
Browse files

Improve validation error handling for missing nominal analysis fields in CSV upload

parent c3bf9f52
No related branches found
No related tags found
1 merge request!7Improve validation error handling for missing nominal analysis fields in CSV upload
......@@ -245,6 +245,8 @@ class CSVUploadForm(forms.Form):
nominal_account_name = row.get(nominal_account_field)
if not cc or not dep or not nominal_account_name:
errors.append(f"Row {index}: Missing values in '{cc_field}', '{dep_field}', or "
f"'{nominal_account_field}'.")
continue
cc_type = cost_centre_map.get(cc)
......
......@@ -93,6 +93,24 @@ def test_validate_nc_cc_dep_combination_against_meo_sage_account(
in str(form.errors["file"][0]))
def test_validate_nc_cc_dep_combination_against_meo_sage_account_blank_values(
sample_input_file: SimpleUploadedFile, mock_meo_database: MagicMock
) -> None:
"""Test validation for nominal analysis fields against MEO valid Sage accounts."""
modified_file = create_modified_csv(
sample_input_file,
{
"NominalAnalysisNominalCostCentre/1": "",
})
form = CSVUploadForm(files={"file": modified_file})
assert not form.is_valid()
assert (
"Row 1: Missing values in 'NominalAnalysisNominalCostCentre/1', 'NominalAnalysisNominalDepartment/1',"
" or 'NominalAnalysisNominalAccountNumber/1'."
in str(form.errors["file"][0])
)
def test_cheque_fields_must_be_empty(sample_input_file: SimpleUploadedFile, mock_meo_database: MagicMock) -> None:
"""Test that cheque fields must be empty."""
modified_file = create_modified_csv(sample_input_file,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment