Beispiel #1
0
def test_post_valid_ar_with_routing_slip(session, client, jwt):
    """Assert that a filing can be completed up to payment."""
    from legal_api.models import Filing
    identifier = 'CP7654321'
    business = factory_business(identifier,
                                founding_date=(datetime.utcnow() -
                                               datedelta.YEAR))
    factory_business_mailing_address(business)
    ar = copy.deepcopy(ANNUAL_REPORT)
    ar['filing']['annualReport']['annualReportDate'] = datetime.utcnow().date(
    ).isoformat()
    ar['filing']['annualReport']['annualGeneralMeetingDate'] = datetime.utcnow(
    ).date().isoformat()
    ar['filing']['header']['routingSlipNumber'] = '123131332'

    rv = client.post(f'/api/v1/businesses/{identifier}/filings',
                     json=ar,
                     headers=create_header(jwt, [STAFF_ROLE], identifier))

    # check return
    assert rv.status_code == HTTPStatus.CREATED
    assert not rv.json.get('errors')
    assert rv.json['filing']['header']['filingId']
    assert rv.json['filing']['header']['paymentToken']
    assert rv.json['filing']['header']['paymentToken'] == '153'

    # check stored filing
    filing = Filing.get_filing_by_payment_token(
        rv.json['filing']['header']['paymentToken'])
    assert filing
    assert filing.status == Filing.Status.PENDING.value
Beispiel #2
0
def test_payment_header(session, client, jwt):
    """Assert that a filing can be completed up to payment."""
    from legal_api.models import Filing
    identifier = 'CP7654321'
    payment_account = '12345'
    business = factory_business(identifier,
                                founding_date=(datetime.utcnow() -
                                               datedelta.YEAR))
    factory_business_mailing_address(business)
    data = copy.deepcopy(FILING_HEADER)
    data['filing']['header']['name'] = 'specialResolution'
    data['filing']['specialResolution'] = SPECIAL_RESOLUTION

    rv = client.post(f'/api/v1/businesses/{identifier}/filings',
                     json=data,
                     headers=create_header(jwt, [STAFF_ROLE], identifier,
                                           **{'accountID': payment_account}))
    # check return
    assert rv.status_code == HTTPStatus.CREATED
    assert not rv.json.get('errors')
    assert rv.json['filing']['header']['filingId']

    # check stored filing
    filing = Filing.find_by_id(rv.json['filing']['header']['filingId'])
    assert filing
    assert filing.payment_account == payment_account
Beispiel #3
0
def test_cancel_payment_for_pending_filing(session, client, jwt):
    """Assert that a filing can be completed up to payment."""
    from legal_api.models import Filing
    identifier = 'CP7654321'
    business = factory_business(identifier,
                                founding_date=(datetime.utcnow() -
                                               datedelta.YEAR))
    factory_business_mailing_address(business)
    ar = copy.deepcopy(ANNUAL_REPORT)
    ar['filing']['annualReport']['annualReportDate'] = datetime.utcnow().date(
    ).isoformat()
    ar['filing']['annualReport']['annualGeneralMeetingDate'] = datetime.utcnow(
    ).date().isoformat()

    rv = client.post(f'/api/v1/businesses/{identifier}/filings',
                     json=ar,
                     headers=create_header(jwt, [STAFF_ROLE], identifier))

    # check return
    assert rv.status_code == HTTPStatus.CREATED
    assert not rv.json.get('errors')
    assert rv.json['filing']['header']['filingId']
    assert rv.json['filing']['header']['paymentToken']

    # check stored filing
    filing = Filing.get_filing_by_payment_token(
        rv.json['filing']['header']['paymentToken'])
    assert filing
    assert filing.status == Filing.Status.PENDING.value

    filing_id = rv.json['filing']['header']['filingId']
    rv = client.patch(f'/api/v1/businesses/{identifier}/filings/{filing_id}',
                      json={},
                      headers=create_header(jwt, [STAFF_ROLE], identifier))
    assert rv.status_code == HTTPStatus.ACCEPTED
    assert not rv.json.get('errors')
    assert rv.json['filing']['header'].get('paymentToken', None) is None
    assert rv.json['filing']['header']['status'] == 'DRAFT'
Beispiel #4
0
def test_deleting_filings_deletion_locked(session, client, jwt, legal_type,
                                          deletion_locked, message):
    """Assert that filing cannot be deleted with deletion_locked flag."""
    identifier = 'BC7654321'
    factory_business(identifier, entity_type=legal_type.value)
    headers = create_header(jwt, [STAFF_ROLE], identifier)
    rv = client.post(f'/api/v1/businesses/{identifier}/filings?draft=true',
                     json=ALTERATION_FILING_TEMPLATE,
                     headers=headers)

    assert rv.status_code == HTTPStatus.CREATED
    filing_id = rv.json['filing']['header']['filingId']
    if deletion_locked:
        filing = Filing.find_by_id(filing_id)
        filing.deletion_locked = True
        filing.save()

    rv = client.delete(f'/api/v1/businesses/{identifier}/filings/{filing_id}',
                       headers=headers)
    if deletion_locked:
        assert rv.status_code == HTTPStatus.UNAUTHORIZED
        assert rv.json.get('message') == message
    else:
        assert rv.status_code == HTTPStatus.OK