diff --git a/legal-api/src/legal_api/services/filings/validations/annual_report.py b/legal-api/src/legal_api/services/filings/validations/annual_report.py index e0e4411172..01b667e399 100644 --- a/legal-api/src/legal_api/services/filings/validations/annual_report.py +++ b/legal-api/src/legal_api/services/filings/validations/annual_report.py @@ -19,6 +19,7 @@ from legal_api.errors import Error from legal_api.models import Address, Business +from legal_api.services.filings.validations.common_validations import _validate_postal_code from legal_api.services.utils import get_date from legal_api.utils.datetime import datetime @@ -152,12 +153,11 @@ def validate_directors_addresses(annual_report: dict, legal_type: str) -> Option msg = [] directors = annual_report["filing"]["annualReport"].get("directors", []) - # Required fields for mailingAddress + # Required fields for mailingAddress mailing_required_fields = [ "streetAddress", "addressCity", - "addressCountry", - "postalCode" + "addressCountry" ] for idx, director in enumerate(directors): @@ -177,6 +177,10 @@ def validate_directors_addresses(annual_report: dict, legal_type: str) -> Option "path": f"/filing/annualReport/directors/{idx}/{address_type}/{field}" }) + postal_error = _validate_postal_code(address,f"/filing/annualReport/directors/{idx}/{address_type}") + if postal_error: + msg.append(postal_error) + if msg: return Error(HTTPStatus.BAD_REQUEST, msg) diff --git a/legal-api/tests/unit/services/filings/validations/annual_report/test_validation.py b/legal-api/tests/unit/services/filings/validations/annual_report/test_validation.py index 4ff106e3d7..d2efd7cf66 100644 --- a/legal-api/tests/unit/services/filings/validations/annual_report/test_validation.py +++ b/legal-api/tests/unit/services/filings/validations/annual_report/test_validation.py @@ -94,6 +94,29 @@ def test_validate(session, test_name, now, ar_date, agm_date, } ] ), + ( + "missing_mailingAddress_postalCode_required", + {"streetAddress": "123 A St", "addressCity": "Vancouver", "addressCountry": "CA", "postalCode": "V5K0A1"}, + {"streetAddress": "123 A St", "addressCity": "Vancouver", "addressCountry": "CA", "postalCode": ""}, + [ + { + "error": "Postal code is required.", + "path": "/filing/annualReport/directors/0/mailingAddress/postalCode" + } + ] + ), + ( + "SUCCESS_missing_mailingAddress_postalCode_not_required", + {"streetAddress": "123 A St", "addressCity": "Vancouver", "addressCountry": "CA", "postalCode": "V5K0A1"}, + {"streetAddress": "123 A St", "addressCity": "Vancouver", "addressCountry": "HK", "postalCode": ""}, + None + ), + ( + "SUCCESS_no_validation_on_postalCode_for_deliveryAddress", + {"streetAddress": "123 A St", "addressCity": "Vancouver", "addressCountry": "CA", "postalCode": ""}, + {"streetAddress": "123 A St", "addressCity": "Vancouver", "addressCountry": "CA", "postalCode": "V5K0A1"}, + None + ), ( "missing_mailing_address", {"streetAddress": "123 A St", "addressCity": "Vancouver", "addressCountry": "CA", "postalCode": "V5K0A1"},