Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/kzdev420/business-schemas i…
Browse files Browse the repository at this point in the history
…nto 23347_notice_of_withdrawal
  • Loading branch information
kzdev420 committed Oct 2, 2024
2 parents 6ee86d0 + 57a116d commit 9ca3f6d
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 7 deletions.
1 change: 1 addition & 0 deletions src/registry_schemas/example_data/schema_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -2342,6 +2342,7 @@
}

CONTINUATION_IN = {
'isApproved': False,
'business': {
'identifier': 'A1234567', # Identifier of the registered extra provincial business
'legalName': 'HAULER SERVICES IN BC'
Expand Down
38 changes: 31 additions & 7 deletions src/registry_schemas/schemas/continuation_in.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,38 @@
"properties": {
"continuationIn": {
"type": "object",
"required": [
"foreignJurisdiction",
"authorization",
"nameRequest",
"offices",
"parties"
],
"if": {
"properties": {
"isApproved": {
"const": false
}
}
},
"then": {
"$comment": "if isApproved is false or not defined",
"required": [
"nameRequest",
"authorization",
"foreignJurisdiction",
"contactPoint"
]
},
"else": {
"required": [
"nameRequest",
"authorization",
"foreignJurisdiction",
"contactPoint",
"offices",
"parties",
"shareStructure"
]
},
"properties": {
"isApproved": {
"type": "boolean",
"title": "Continuation In Authorization has been approved."
},
"business": {
"$ref": "https://bcrs.gov.bc.ca/.well_known/schemas/business#/properties/business",
"title": "Provide identifier and/or taxId if already registered as extra provincial business."
Expand Down
39 changes: 39 additions & 0 deletions tests/unit/test_continuation_in.py
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ def test_validate_no_offices():
def test_validate_no_parties():
"""Assert not valid if parties are ommited."""
continuation_in_json = copy.deepcopy(CONTINUATION_IN)
continuation_in_json['isApproved'] = True
del continuation_in_json['parties']
legal_filing = {'continuationIn': continuation_in_json}

Expand Down Expand Up @@ -141,3 +142,41 @@ def test_validate_share_classes_no_name():
print(errors)

assert not is_valid


def test_validate_continuation_in_submit_authorization():
"""Assert valid if continuation in can be submitted for approval without these props."""
continuation_in_json = copy.deepcopy(CONTINUATION_IN)
del continuation_in_json['isApproved'] # removing isApproved will trigger 'then' (equivalent to False)
del continuation_in_json['offices']
del continuation_in_json['parties']
del continuation_in_json['shareStructure']
legal_filing = {'continuationIn': continuation_in_json}

is_valid, errors = validate(legal_filing, 'continuation_in')

if errors:
for err in errors:
print(err.message)
print(errors)

assert is_valid


def test_validate_continuation_in_submit_after_approval():
"""Assert not valid if these are ommited."""
continuation_in_json = copy.deepcopy(CONTINUATION_IN)
continuation_in_json['isApproved'] = True
del continuation_in_json['offices']
del continuation_in_json['parties']
del continuation_in_json['shareStructure']
legal_filing = {'continuationIn': continuation_in_json}

is_valid, errors = validate(legal_filing, 'continuation_in')

if errors:
for err in errors:
print(err.message)
print(errors)

assert not is_valid

0 comments on commit 9ca3f6d

Please sign in to comment.