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

Test validate nc cc dep combination against meo sage account

parent caf47cb1
No related branches found
No related tags found
1 merge request!2Feature/unit test for validations
......@@ -47,6 +47,48 @@ def test_source_and_trader_type_validation(sample_input_file, mock_meo_database)
modified_file = SimpleUploadedFile("test_modified.csv", output.getvalue().encode("utf-8"), content_type="text/csv")
form = CSVUploadForm(files={"file": modified_file})
assert not form.is_valid(), "Form should be invalid due to incorrect Source and SYSTraderTranType values"
assert not form.is_valid()
assert "Row 1: 'Source' must be 80" in form.errors["file"][0]
assert "Row 1: 'SYSTraderTranType' must be 4" in form.errors["file"][1]
def test_validate_nominal_analysis_account(sample_input_file, mock_meo_database):
"""Test validation for nominal analysis account."""
csv_content = sample_input_file.read().decode("utf-8").splitlines()
reader = csv.DictReader(csv_content)
rows = list(reader)
rows[0]["NominalAnalysisNominalAnalysisNarrative/1"] = "Invalid Name"
# Rebuild the CSV with modified values
output = io.StringIO()
writer = csv.DictWriter(output, fieldnames=reader.fieldnames)
writer.writeheader()
writer.writerows(rows)
modified_file = SimpleUploadedFile("test_modified.csv", output.getvalue().encode("utf-8"), content_type="text/csv")
form = CSVUploadForm(files={"file": modified_file})
assert not form.is_valid()
assert (f"Row 1: 'AccountNumber' must match 'Sample Narrative' in 'NominalAnalysisNominalAnalysisNarrative/1',"
f" but found 'Invalid Name'.") == form.errors["file"][0]
def test_validate_nc_cc_dep_combination_against_meo_sage_account(sample_input_file, mock_meo_database):
"""Test validation for nominal analysis fields against MEO valid Sage accounts."""
csv_content = sample_input_file.read().decode("utf-8").splitlines()
reader = csv.DictReader(csv_content)
rows = list(reader)
rows[0]["NominalAnalysisNominalCostCentre/1"] = "Invalid_CC"
rows[0]["NominalAnalysisNominalAccountNumber/1"] = "Invalid_Account"
output = io.StringIO()
writer = csv.DictWriter(output, fieldnames=reader.fieldnames)
writer.writeheader()
writer.writerows(rows)
modified_file = SimpleUploadedFile("test_modified.csv", output.getvalue().encode("utf-8"), content_type="text/csv")
form = CSVUploadForm(files={"file": modified_file})
assert not form.is_valid()
assert "Row 1: 'NominalAnalysisNominalCostCentre/1' (Invalid_CC) is not a valid cost centre." in str(form.errors["file"][0])
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment