Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 008e5f6

Browse files
authored
34564 - Add Completing Party Confirmation Section to CCO Output (#4746)
* 34564 - Add completing party section to CCO Output * 34564 - Wire up CCO to require certified by validation * 34456 - fix logic
1 parent 095d151 commit 008e5f6

3 files changed

Lines changed: 39 additions & 8 deletions

File tree

legal-api/report-templates/consentContinuationOut.html

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,26 @@
3838
</div>
3939
<div class="container pt-4">
4040
<div class="no-page-break">
41-
<div class="section-title mt-4">New jurisdiction</div>
42-
<div class="section-data pt-2">{{ jurisdiction }}</div>
41+
<div class="section-title mt-4">Foreign jurisdiction into which the company is continuing:</div>
42+
<div class="section-data pt-2 bold">{{ jurisdiction }}</div>
43+
</div>
44+
45+
<div class="no-page-break">
46+
<div class="separator mt-4"></div>
47+
<div class="section-title mt-4">Completing Party Confirmation</div>
48+
<div class="section-data mt-4">
49+
I,
50+
<span class="capitalize-text">{{ header.certifiedBy }}</span>,
51+
confirm that the laws of the foreign jurisdiction to which the continued corporation will be
52+
subject provide, in effect, for the following:
53+
<ul class="certify-statement-list">
54+
<li class="pt-2">the property, rights and interest of the company continue to be the property, rights and interests of the continued corporation,</li>
55+
<li class="pt-2">the continued corporation continues to be liable for the obligations of the company,</li>
56+
<li class="pt-2">an existing cause of action, claim or liability to prosecution is unaffected,</li>
57+
<li class="pt-2">a legal proceeding being prosecuted or pending by or against the company may be prosecuted or its prosecution may be continued, as the case may be, by or against the continued corporation, and</li>
58+
<li class="pt-2">a conviction against, or a ruling, or judgment in favour of or against, the company may be enforced by or against the continued corporation.</li>
59+
</ul>
60+
</div>
4361
</div>
4462
</div>
4563
</body>

legal-api/src/legal_api/services/filings/validations/common_validations.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1451,7 +1451,8 @@ def validate_certified_by(filing_json: dict, filing_type: str, legal_type: str)
14511451
# so certifiedBy is required for them on a corp incorporation application
14521452
api_login_source = "API_GW" # jwt loginSource of an API gateway user
14531453
current_user = getattr(request_ctx, "current_user", None) if has_request_context() else None
1454-
if (filing_type == CoreFiling.FilingTypes.INCORPORATIONAPPLICATION
1454+
if (filing_type in (CoreFiling.FilingTypes.INCORPORATIONAPPLICATION,
1455+
CoreFiling.FilingTypes.CONSENTCONTINUATIONOUT)
14551456
and current_user
14561457
and (jwt.validate_roles(current_user, [STAFF_ROLE])
14571458
or current_user.get("loginSource") == api_login_source)):

legal-api/tests/unit/services/filings/validations/test_common_validations.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
CHANGE_OF_REGISTRATION,
3636
CHANGE_OF_REGISTRATION_TEMPLATE,
3737
CONTINUATION_IN,
38+
CONSENT_CONTINUATION_OUT,
3839
CORRECTION_INCORPORATION,
3940
DISSOLUTION,
4041
FILING_HEADER,
@@ -605,6 +606,11 @@ def test_validate_certified_by_corps(session, legal_type, input_value, expected_
605606
assert errors[0]['error'] == 'Certified by field is required.'
606607
assert errors[0]['path'] == '/filing/header/certifiedBy'
607608

609+
610+
@pytest.mark.parametrize('filing_type', [
611+
CoreFiling.FilingTypes.INCORPORATIONAPPLICATION,
612+
CoreFiling.FilingTypes.CONSENTCONTINUATIONOUT,
613+
])
608614
@pytest.mark.parametrize('test_name, roles, login_source, certified_by, expected_error', [
609615
('api_user_missing', [], 'API_GW', '', 'Certified by field is required.'),
610616
('api_user_whitespace', [], 'API_GW', ' John Doe ', 'Certified by field cannot start or end with whitespace.'),
@@ -613,12 +619,18 @@ def test_validate_certified_by_corps(session, legal_type, input_value, expected_
613619
('staff_valid', ['staff'], 'IDIR', 'John Doe', None),
614620
('public_user_not_required', [], 'BCSC', '', None),
615621
])
616-
def test_validate_certified_by_corps_completing_party(app, session, test_name, roles,
617-
login_source, certified_by, expected_error):
618-
"""Corps IA requires certifiedBy for staff and API users (API users identified by loginSource)."""
622+
def test_validate_certified_by_corps_completing_party(app, session, filing_type, test_name, roles,
623+
login_source, certified_by, expected_error):
624+
"""Corps IA and CCO require certifiedBy for staff and API users (API users identified by loginSource)."""
625+
filing_type_data = {
626+
CoreFiling.FilingTypes.INCORPORATIONAPPLICATION: ('incorporationApplication', INCORPORATION),
627+
CoreFiling.FilingTypes.CONSENTCONTINUATIONOUT: ('consentContinuationOut', CONSENT_CONTINUATION_OUT),
628+
}
629+
filing_key, filing_data = filing_type_data[filing_type]
630+
619631
filing = copy.deepcopy(FILING_HEADER)
620632
filing['filing']['header']['certifiedBy'] = certified_by
621-
filing['filing']['incorporationApplication'] = INCORPORATION
633+
filing['filing'][filing_key] = filing_data
622634

623635
with (
624636
patch('legal_api.services.filings.validations.common_validations.jwt.validate_roles',
@@ -627,7 +639,7 @@ def test_validate_certified_by_corps_completing_party(app, session, test_name, r
627639
):
628640
from flask.globals import request_ctx
629641
request_ctx.current_user = {'sub': 'test-user', 'loginSource': login_source}
630-
errors = validate_certified_by(filing, 'incorporationApplication', 'BEN')
642+
errors = validate_certified_by(filing, filing_type, 'BEN')
631643

632644
if expected_error:
633645
assert errors

0 commit comments

Comments
 (0)