From a5e8e89bdf79c47857a133dca925458a7b98bc52 Mon Sep 17 00:00:00 2001 From: meawong Date: Tue, 23 Dec 2025 16:54:06 -0800 Subject: [PATCH 1/2] 31756 - Use common _validate_postal_code with NO_POSTAL_CODE_COUNTRY_CODES list --- .../filings/validations/annual_report.py | 12 +++++++--- .../annual_report/test_validation.py | 23 +++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) 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..7dfa4772f9 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,9 @@ 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 +155,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 +179,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"}, From a83bfc28dd9a3e497555b617934daf794e2e5c26 Mon Sep 17 00:00:00 2001 From: meawong Date: Tue, 23 Dec 2025 18:31:39 -0800 Subject: [PATCH 2/2] 31756 - Fix lint --- .../legal_api/services/filings/validations/annual_report.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) 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 7dfa4772f9..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,9 +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.filings.validations.common_validations import _validate_postal_code from legal_api.services.utils import get_date from legal_api.utils.datetime import datetime