コード例 #1
0
def test_get_internal_filings(session, client, jwt):
    """Assert that the internal filings get endpoint returns all completed filings without colin ids."""
    from legal_api.models import Filing
    from tests.unit.models import factory_error_filing, factory_pending_filing
    # setup
    identifier = 'CP7654321'
    b = factory_business(identifier)
    factory_business_mailing_address(b)

    filing1 = factory_completed_filing(b, ANNUAL_REPORT)
    filing2 = factory_completed_filing(b, ANNUAL_REPORT)
    filing3 = factory_pending_filing(b, ANNUAL_REPORT)
    filing4 = factory_filing(b, ANNUAL_REPORT)
    filing5 = factory_error_filing(b, ANNUAL_REPORT)

    assert filing1.status == Filing.Status.COMPLETED.value
    # completed with colin_event_id
    filing2.colin_event_id = 1234
    filing2.save()
    assert filing2.status == Filing.Status.COMPLETED.value
    assert filing2.colin_event_id is not None
    # pending with no colin_event_id
    assert filing3.status == Filing.Status.PENDING.value
    # draft with no colin_event_id
    assert filing4.status == Filing.Status.DRAFT.value
    # error with no colin_event_id
    assert filing5.status == Filing.Status.ERROR.value

    # test endpoint returned filing1 only (completed with no colin id set)
    rv = client.get(f'/api/v1/businesses/internal/filings')
    assert rv.status_code == HTTPStatus.OK
    assert len(rv.json) == 1
    assert rv.json[0]['filing']['header']['filingId'] == filing1.id
コード例 #2
0
def test_future_filing_coa(session, client, jwt):
    """Assert that future effective filings are saved and have the correct status changes."""
    import pytz
    from legal_api.models import Filing
    from tests.unit.models import factory_pending_filing
    # setup
    identifier = 'CP7654321'
    b = factory_business(identifier, (datetime.utcnow() - datedelta.YEAR), None, 'BC')
    factory_business_mailing_address(b)
    coa = copy.deepcopy(FILING_HEADER)
    coa['filing']['header']['name'] = 'changeOfAddress'
    coa['filing']['changeOfAddress'] = CHANGE_OF_ADDRESS
    coa['filing']['changeOfAddress']['offices']['registeredOffice']['deliveryAddress']['addressCountry'] = 'CA'
    coa['filing']['changeOfAddress']['offices']['registeredOffice']['mailingAddress']['addressCountry'] = 'CA'
    coa['filing']['business']['identifier'] = identifier

    filing = factory_pending_filing(b, coa)
    filing.effective_date = datetime.utcnow() + datedelta.DAY
    filing.save()
    assert filing.status == Filing.Status.PENDING.value

    filing.payment_completion_date = pytz.utc.localize(datetime.utcnow())
    filing.save()

    assert filing.status == Filing.Status.PAID.value
コード例 #3
0
def test_future_filing_coa(session, client, jwt):
    """Assert that future effective filings are saved and have the correct status changes."""
    import pytz
    from tests.unit.models import factory_pending_filing
    # setup
    identifier = 'CP7654321'
    b = factory_business(identifier, (datetime.utcnow() - datedelta.YEAR), None, Business.LegalTypes.BCOMP.value)
    factory_business_mailing_address(b)
    coa = copy.deepcopy(FILING_HEADER)
    coa['filing']['header']['name'] = 'changeOfAddress'
    coa['filing']['changeOfAddress'] = CHANGE_OF_ADDRESS
    coa['filing']['changeOfAddress']['offices']['registeredOffice']['deliveryAddress']['addressCountry'] = 'CA'
    coa['filing']['changeOfAddress']['offices']['registeredOffice']['mailingAddress']['addressCountry'] = 'CA'
    coa['filing']['business']['identifier'] = identifier

    filing = factory_pending_filing(b, coa)
    filing.effective_date = datetime.utcnow() + datedelta.DAY
    filing.save()
    assert filing.status == Filing.Status.PENDING.value

    filing.payment_completion_date = pytz.utc.localize(datetime.utcnow())
    filing.save()

    assert filing.status == Filing.Status.PAID.value

    rv = client.get('/api/v1/businesses/internal/filings/PAID', headers=create_header(jwt, [COLIN_SVC_ROLE]))
    paid_filings = rv.json
    assert paid_filings[0]
    # check values that future effective filings job depends on are there
    assert paid_filings[0]['filing']['header']['filingId'] == filing.id
    assert paid_filings[0]['filing']['header']['paymentToken']
    assert paid_filings[0]['filing']['header']['effectiveDate']
コード例 #4
0
def test_get_tasks_pending_correction_filings(session, client, jwt):
    """Assert that to-do list returns the error filings."""
    from freezegun import freeze_time
    from legal_api.models import Filing
    from tests import FROZEN_2018_DATETIME
    from registry_schemas.example_data import CORRECTION_AR
    # setup
    identifier = 'CP7654321'
    b = factory_business(identifier, last_ar_date=datetime(2016, 8, 13))
    filing = factory_pending_filing(b, CORRECTION_AR)
    filing.save()
    filing._status = Filing.Status.PENDING_CORRECTION.value
    setattr(filing, 'skip_status_listener', True)
    filing.save()
    assert filing.status == Filing.Status.PENDING_CORRECTION.value

    # freeze time so we get the same number of tasks in the to-do list regardless of when this test is run
    with freeze_time(FROZEN_2018_DATETIME):
        # test endpoint returned filing in tasks call
        rv = client.get(f'/api/v2/businesses/{identifier}/tasks',
                        headers=create_header(jwt, [STAFF_ROLE], identifier))
        assert rv.status_code == HTTPStatus.OK
        assert len(rv.json['tasks']) == 3
        assert rv.json['tasks'][0]['task']['filing']['header'][
            'filingId'] == filing.id
コード例 #5
0
def test_get_temp_business_filing(session, client, jwt):
    """Assert that the business info cannot be received in a valid JSONSchema format."""
    #
    # setup
    identifier = 'Tb31yQIuBw'
    filing_name = 'incorporationApplication'
    temp_reg = RegistrationBootstrap()
    temp_reg._identifier = identifier
    temp_reg.save()
    json_data = copy.deepcopy(FILING_HEADER)
    json_data['filing']['header']['name'] = filing_name
    json_data['filing'][filing_name] = copy.deepcopy(INCORPORATION)
    filings = factory_pending_filing(None, json_data)
    filings.temp_reg = identifier
    filings.save()

    #
    # test
    rv = client.get(f'/api/v2/businesses/{identifier}/filings',
                    headers=create_header(jwt, [STAFF_ROLE], identifier))

    #
    # validate
    assert rv.status_code == HTTPStatus.OK
    assert rv.json['filing']['header']['name'] == filing_name
    assert rv.json['filing'][filing_name] == INCORPORATION
コード例 #6
0
def test_get_tasks_error_filings(session, client, jwt):
    """Assert that to-do list returns the error filings."""
    from legal_api.models import Filing
    from tests.unit.models import AR_FILING, factory_business_mailing_address
    # setup
    identifier = 'CP7654321'
    b = factory_business(identifier, last_ar_date='2019-08-13')
    factory_business_mailing_address(b)
    filing = factory_pending_filing(b, AR_FILING, datetime(2019, 8, 5, 7, 7, 58, 272362))
    filing.save()
    assert filing.status == Filing.Status.PENDING.value

    # test endpoint returned filing in tasks call
    rv = client.get(f'/api/v1/businesses/{identifier}/tasks')
    assert rv.status_code == HTTPStatus.OK
    assert len(rv.json['tasks']) == 2
    assert rv.json['tasks'][0]['task']['filing']['header']['filingId'] == filing.id
コード例 #7
0
def test_get_internal_filings(session, client, jwt):
    """Assert that the internal filings get endpoint returns all completed filings without colin ids."""
    from legal_api.models import Filing
    from legal_api.models.colin_event_id import ColinEventId
    from tests.unit.models import factory_error_filing, factory_pending_filing
    # setup
    identifier = 'CP7654321'
    b = factory_business(identifier)
    factory_business_mailing_address(b)

    filing1 = factory_completed_filing(b, ANNUAL_REPORT)
    filing2 = factory_completed_filing(b, ANNUAL_REPORT)
    filing3 = factory_pending_filing(b, ANNUAL_REPORT)
    filing4 = factory_filing(b, ANNUAL_REPORT)
    filing5 = factory_error_filing(b, ANNUAL_REPORT)
    filing6 = factory_completed_filing(b, CORRECTION_AR)

    assert filing1.status == Filing.Status.COMPLETED.value
    # completed with colin_event_id
    print(filing2.colin_event_ids)
    assert len(filing2.colin_event_ids) == 0
    colin_event_id = ColinEventId()
    colin_event_id.colin_event_id = 12345
    filing2.colin_event_ids.append(colin_event_id)
    filing2.save()
    assert filing2.status == Filing.Status.COMPLETED.value
    assert filing2.colin_event_ids
    # pending with no colin_event_ids
    assert filing3.status == Filing.Status.PENDING.value
    # draft with no colin_event_ids
    assert filing4.status == Filing.Status.DRAFT.value
    # error with no colin_event_ids
    assert filing5.status == Filing.Status.PAID.value
    # completed correction with no colin_event_ids
    assert filing6.status == Filing.Status.COMPLETED.value

    # test endpoint returned filing1 only (completed, no corrections, with no colin id set)
    rv = client.get(f'/api/v1/businesses/internal/filings')
    assert rv.status_code == HTTPStatus.OK
    assert len(rv.json) == 1
    assert rv.json[0]['filingId'] == filing1.id