예제 #1
0
def test_find_by_corp_type_and_filing_type_from_new(session):
    """Assert that the fee schedule is saved to the table."""
    create_linked_data(FILING_TYPE_CODE, CORP_TYPE_CODE, FEE_CODE)
    fee_schedule = services.FeeSchedule()
    fee_schedule.filing_type_code = FILING_TYPE_CODE
    fee_schedule.corp_type_code = CORP_TYPE_CODE
    fee_schedule.fee_code = FEE_CODE
    fee_schedule.fee_start_date = date.today()
    fee_schedule.save()

    fee_schedule = services.FeeSchedule.find_by_corp_type_and_filing_type(
        CORP_TYPE_CODE, FILING_TYPE_CODE, None)

    assert fee_schedule.fee_schedule_id is not None
    assert fee_schedule.fee_start_date == date.today()
    assert fee_schedule.fee_end_date is None
    assert fee_schedule.fee_code == FEE_CODE
    assert fee_schedule.corp_type_code == CORP_TYPE_CODE
    assert fee_schedule.filing_type_code == FILING_TYPE_CODE

    assert fee_schedule.asdict() == {
        'filing_type': 'TEST',
        'filing_type_code': FILING_TYPE_CODE,
        'filing_fees': 100,
        'service_fees': 0,
        'total': 100,
        'tax': {
            'gst': 0,
            'pst': 0
        },
        'priority_fees': 0,
        'future_effective_fees': 0,
        'processing_fees': 0
    }
예제 #2
0
def test_fee_schedule_with_service_fees_for_basic_user(session):
    """Assert that fee with service fees can be retrieved."""
    # Create a transaction fee
    tran_fee_code = 'TRAN'
    corp_type_code = 'XCORP'
    fee_code = 'FEE01'
    fee_code_master = FeeCode(code=tran_fee_code, amount=10)
    fee_code_master.save()

    fee_code_master = FeeCode(code=fee_code, amount=100)
    fee_code_master.save()

    corp_type = CorpType(code=corp_type_code,
                         service_fee_code=tran_fee_code,
                         description='TEST')
    corp_type.save()

    filing_type = FilingType(code=FILING_TYPE_CODE, description='TEST')
    filing_type.save()

    fee_schedule = services.FeeSchedule()
    fee_schedule.filing_type_code = FILING_TYPE_CODE
    fee_schedule.corp_type_code = corp_type_code
    fee_schedule.fee_code = fee_code
    fee_schedule.fee_start_date = date.today()
    fee_schedule.save()

    fee_schedule = services.FeeSchedule.find_by_corp_type_and_filing_type(
        corp_type=corp_type_code,
        filing_type_code=FILING_TYPE_CODE,
        valid_date=date.today(),
        include_service_fees=False)
    assert fee_schedule.service_fees == 10
예제 #3
0
def test_fee_schedule_saved_from_new(session):
    """Assert that the fee schedule is saved to the table."""
    create_linked_data(FILING_TYPE_CODE, CORP_TYPE_CODE, FEE_CODE)
    fee_schedule = services.FeeSchedule()
    fee_schedule.filing_type_code = FILING_TYPE_CODE
    fee_schedule.corp_type_code = CORP_TYPE_CODE
    fee_schedule.fee_code = FEE_CODE
    fee_schedule.fee_start_date = date.today()
    fee_schedule.save()

    fee_schedule = services.FeeSchedule.find_by_corp_type_and_filing_type(CORP_TYPE_CODE, FILING_TYPE_CODE, None)

    assert fee_schedule is not None
예제 #4
0
def test_find_by_corp_type_and_filing_type_and_invalid_date(session):
    """Assert that the fee schedule is saved to the table."""
    from pay_api.exceptions import BusinessException
    create_linked_data(FILING_TYPE_CODE, CORP_TYPE_CODE, FEE_CODE)
    fee_schedule = services.FeeSchedule()
    fee_schedule.filing_type_code = FILING_TYPE_CODE
    fee_schedule.corp_type_code = CORP_TYPE_CODE
    fee_schedule.fee_code = FEE_CODE
    fee_schedule.fee_start_date = date.today()
    fee_schedule.save()

    with pytest.raises(BusinessException) as excinfo:
        fee_schedule = services.FeeSchedule.find_by_corp_type_and_filing_type(CORP_TYPE_CODE, FILING_TYPE_CODE,
                                                                              date.today() - timedelta(1))

    assert excinfo.value.code == Error.INVALID_CORP_OR_FILING_TYPE.name