def test_success_populated_ata_frec(database):
    """
        Tests that TAS for SF-133 are present in File A for FREC submissions
        Note this aspect of the filter is only relevant to FRECs 1601 and 1125
    """
    submission_id = randint(1000, 10000)
    tas, period, year, cgac_code, frec_code = 'some-tas', 2, 2002, '016', '1601'

    sf = SF133Factory(tas=tas,
                      period=period,
                      fiscal_year=year,
                      allocation_transfer_agency=cgac_code,
                      agency_identifier='some-other-code')
    submission = SubmissionFactory(submission_id=submission_id,
                                   reporting_fiscal_period=period,
                                   reporting_fiscal_year=year,
                                   cgac_code=None,
                                   frec_code=frec_code)
    ap = AppropriationFactory(tas=tas, submission_id=submission_id)

    assert error_rows(_FILE, database, models=[sf, ap],
                      submission=submission) == []

    submission_id = randint(1000, 10000)
    tas, period, year, cgac_code, frec_code = 'some-tas', 2, 2002, '011', '1125'

    sf = SF133Factory(tas=tas,
                      period=period,
                      fiscal_year=year,
                      allocation_transfer_agency=cgac_code,
                      agency_identifier='some-other-code')
    submission = SubmissionFactory(submission_id=submission_id,
                                   reporting_fiscal_period=period,
                                   reporting_fiscal_year=year,
                                   cgac_code=None,
                                   frec_code=frec_code)
    ap = AppropriationFactory(tas=tas, submission_id=submission_id)

    assert error_rows(_FILE, database, models=[sf, ap],
                      submission=submission) == []

    # testing with a not special FREC to show it'd still pass cause it doesn't link
    submission_id = randint(1000, 10000)
    tas, period, year, cgac_code, frec_code = 'some-tas', 2, 2002, '011', '1124'

    sf = SF133Factory(tas=tas,
                      period=period,
                      fiscal_year=year,
                      allocation_transfer_agency=cgac_code,
                      agency_identifier='some-other-code')
    submission = SubmissionFactory(submission_id=submission_id,
                                   reporting_fiscal_period=period,
                                   reporting_fiscal_year=year,
                                   cgac_code=None,
                                   frec_code=frec_code)
    ap = AppropriationFactory(tas='a-different-tas',
                              submission_id=submission_id)

    assert error_rows(_FILE, database, models=[sf, ap],
                      submission=submission) == []
def test_success(database):
    """ Tests that OtherBudgetaryResourcesAmount_CPE is provided if TAS has borrowing,
    contract, and/or spending authority provided in File A. """
    tas = "".join([_TAS, "_success"])

    ap1 = AppropriationFactory(tas=tas,
                               other_budgetary_resources_cpe=1,
                               borrowing_authority_amount_cpe=1,
                               contract_authority_amount_cpe=0,
                               spending_authority_from_of_cpe=0)
    ap2 = AppropriationFactory(tas=tas,
                               other_budgetary_resources_cpe=1,
                               borrowing_authority_amount_cpe=0,
                               contract_authority_amount_cpe=1,
                               spending_authority_from_of_cpe=0)
    ap3 = AppropriationFactory(tas=tas,
                               other_budgetary_resources_cpe=1,
                               borrowing_authority_amount_cpe=0,
                               contract_authority_amount_cpe=0,
                               spending_authority_from_of_cpe=1)
    ap4 = AppropriationFactory(tas=tas,
                               other_budgetary_resources_cpe=0,
                               borrowing_authority_amount_cpe=0,
                               contract_authority_amount_cpe=0,
                               spending_authority_from_of_cpe=0)

    assert number_of_errors(_FILE, database, models=[ap1, ap2, ap3, ap4]) == 0
示例#3
0
def test_success(database):
    """ Tests that SF 133 amount sum for lines 1340, 1440 matches Appropriation borrowing_authority_amount_cpe for the
        specified fiscal year and period
    """
    tas_1 = "".join([_TAS, "_success"])
    tas_2 = "".join([_TAS, "_success_2"])

    sf_1 = SF133Factory(line=1340,
                        tas=tas_1,
                        period=1,
                        fiscal_year=2016,
                        amount=1)
    sf_2 = SF133Factory(line=1440,
                        tas=tas_1,
                        period=1,
                        fiscal_year=2016,
                        amount=1)
    sf_3 = SF133Factory(line=1340,
                        tas=tas_2,
                        period=1,
                        fiscal_year=2016,
                        amount=0)
    sf_4 = SF133Factory(line=1440,
                        tas=tas_2,
                        period=1,
                        fiscal_year=2016,
                        amount=0)
    ap_1 = AppropriationFactory(tas=tas_1, borrowing_authority_amount_cpe=2)
    ap_2 = AppropriationFactory(tas=tas_2, borrowing_authority_amount_cpe=None)

    assert number_of_errors(_FILE,
                            database,
                            models=[sf_1, sf_2, sf_3, sf_4, ap_1, ap_2]) == 0
def test_success(database):
    """ Test that TAS values can be found, and null matches work correctly"""
    tas = TASFactory()
    tas_null = TASFactory(allocation_transfer_agency=None,
                          availability_type_code=None,
                          sub_account_code=None)
    approp = AppropriationFactory(
        allocation_transfer_agency=tas.allocation_transfer_agency,
        agency_identifier=tas.agency_identifier,
        beginning_period_of_availa=tas.beginning_period_of_availability,
        ending_period_of_availabil=tas.ending_period_of_availability,
        availability_type_code=tas.availability_type_code,
        main_account_code=tas.main_account_code,
        sub_account_code=tas.sub_account_code)
    approp_null = AppropriationFactory(
        allocation_transfer_agency=tas_null.allocation_transfer_agency,
        agency_identifier=tas_null.agency_identifier,
        beginning_period_of_availa=tas_null.beginning_period_of_availability,
        ending_period_of_availabil=tas_null.ending_period_of_availability,
        availability_type_code=tas_null.availability_type_code,
        main_account_code=tas_null.main_account_code,
        sub_account_code=tas_null.sub_account_code)

    errors = number_of_errors(_FILE,
                              database,
                              models=[tas, tas_null, approp, approp_null])
    assert errors == 0
def test_failure(database):
    """ Test failure TotalBudgetaryResources_CPE = BudgetAuthorityAppropriatedAmount_CPE +
        BudgetAuthorityUnobligatedBalanceBroughtForward_FYB + AdjustmentsToUnobligatedBalanceBroughtForward_CPE +
        OtherBudgetaryResourcesAmount_CPE + SF 133 Line 1902
    """

    approp = AppropriationFactory(total_budgetary_resources_cpe=1200,
                                  budget_authority_appropria_cpe=100,
                                  budget_authority_unobligat_fyb=200,
                                  adjustments_to_unobligated_cpe=300,
                                  other_budgetary_resources_cpe=400,
                                  tas='abcd')
    approp_null = AppropriationFactory(total_budgetary_resources_cpe=800,
                                       budget_authority_appropria_cpe=100,
                                       budget_authority_unobligat_fyb=200,
                                       adjustments_to_unobligated_cpe=300,
                                       other_budgetary_resources_cpe=None,
                                       tas='abcd')
    approp_wrong_tas = AppropriationFactory(total_budgetary_resources_cpe=1000,
                                            budget_authority_appropria_cpe=100,
                                            budget_authority_unobligat_fyb=200,
                                            adjustments_to_unobligated_cpe=300,
                                            other_budgetary_resources_cpe=400,
                                            tas='bcda')

    # approp_wrong
    sf_1 = SF133Factory(line=1902,
                        tas='bcda',
                        period=1,
                        fiscal_year=2016,
                        amount=100)

    errors = number_of_errors(
        _FILE, database, models=[approp, approp_null, approp_wrong_tas, sf_1])
    assert errors == 3
def test_failure(database):
    """ Test that tas that does not match is an error"""

    tas = TASFactory(agency_identifier=100)
    tas_null = TASFactory(agency_identifier=101,
                          allocation_transfer_agency=None,
                          availability_type_code=None,
                          sub_account_code=None)
    approp = AppropriationFactory(
        allocation_transfer_agency=tas.allocation_transfer_agency,
        agency_identifier=102,
        beginning_period_of_availa=tas.beginning_period_of_availability,
        ending_period_of_availabil=tas.ending_period_of_availability,
        availability_type_code=tas.availability_type_code,
        main_account_code=tas.main_account_code,
        sub_account_code=tas.sub_account_code)
    approp_null = AppropriationFactory(
        allocation_transfer_agency=tas_null.allocation_transfer_agency,
        agency_identifier=103,
        beginning_period_of_availa=tas_null.beginning_period_of_availability,
        ending_period_of_availabil=tas_null.ending_period_of_availability,
        availability_type_code=tas_null.availability_type_code,
        main_account_code=tas_null.main_account_code,
        sub_account_code=tas_null.sub_account_code)

    # Non-overlapping ranges of agency IDs should generate two errors
    errors = number_of_errors(_FILE,
                              database,
                              models=[tas, tas_null, approp, approp_null])
    assert errors == 2
示例#7
0
def test_success(database):
    """ Test that agency codes are matched against cgac correctly """
    approp = AppropriationFactory()
    approp_null = AppropriationFactory(agency_identifier = None)
    cgac = CGACFactory(cgac_code = approp.agency_identifier)

    errors = number_of_errors(_FILE, database, models=[approp, approp_null, cgac])
    assert errors == 0
示例#8
0
def test_success(database):
    """ Test that calculation works for equal values and for null """
    value = Decimal('100.23')
    approp = AppropriationFactory(status_of_budgetary_resour_cpe=value, total_budgetary_resources_cpe=value)
    approp_null = AppropriationFactory(status_of_budgetary_resour_cpe=0, total_budgetary_resources_cpe=None)

    errors = number_of_errors(_FILE, database, models=[approp, approp_null])
    assert errors == 0
示例#9
0
def test_success(database):
    """ Test that availability type code is either x or absent """
    approp = AppropriationFactory(availability_type_code = 'X')
    approp_lower = AppropriationFactory(availability_type_code = 'x')
    approp_null = AppropriationFactory(availability_type_code = None)

    errors = number_of_errors(_FILE, database, models=[approp, approp_lower, approp_null])
    assert errors == 0
示例#10
0
def test_success(database):
    """ Test that TAS values can be found, and null matches work correctly"""
    approp = AppropriationFactory(status_of_budgetary_resour_cpe = 300, obligations_incurred_total_cpe = 100,
                                  unobligated_balance_cpe = 200)
    approp_null = AppropriationFactory(status_of_budgetary_resour_cpe = 100, obligations_incurred_total_cpe = 100,
                                       unobligated_balance_cpe = None)

    errors = number_of_errors(_FILE, database, models=[approp, approp_null])
    assert errors == 0
示例#11
0
def test_success(database):
    """ Test that TAS values can be found, and null matches work correctly"""
    approp = AppropriationFactory(other_budgetary_resources_cpe = 600, contract_authority_amount_cpe = 100,
                                  borrowing_authority_amount_cpe = 200, spending_authority_from_of_cpe = 300)
    approp_null = AppropriationFactory(other_budgetary_resources_cpe = 300, contract_authority_amount_cpe = 100,
                                  borrowing_authority_amount_cpe = 200, spending_authority_from_of_cpe = None)

    errors = number_of_errors(_FILE, database, models=[approp, approp_null])
    assert errors == 0
def test_failure(database):
    """ Tests that TAS values in File A are unique """
    tas = TASFactory()
    database.session.add(tas)
    database.session.flush()

    ap1 = AppropriationFactory(row_number=1, tas_id=tas.tas_id)
    ap2 = AppropriationFactory(row_number=2, tas_id=tas.tas_id)
    assert number_of_errors(_FILE, database, models=[ap1, ap2]) == 2
def test_success(database):
    """ Test that TAS values can be found, and null matches work correctly"""
    approp = AppropriationFactory(budget_authority_available_cpe = 1000, budget_authority_appropria_cpe = 100,
        budget_authority_unobligat_fyb = 200, adjustments_to_unobligated_cpe = 300, other_budgetary_resources_cpe = 400)
    approp_null = AppropriationFactory(budget_authority_available_cpe = 600, budget_authority_appropria_cpe = 100,
        budget_authority_unobligat_fyb = 200, adjustments_to_unobligated_cpe = 300, other_budgetary_resources_cpe = None)

    errors = number_of_errors(_FILE, database, models=[approp, approp_null])
    assert errors == 0
示例#14
0
def test_failure(database):
    """ Test that tas that does not match is an error"""

    approp = AppropriationFactory(status_of_budgetary_resour_cpe = 500, obligations_incurred_total_cpe = 100,
                                  unobligated_balance_cpe = 200)
    approp_null = AppropriationFactory(status_of_budgetary_resour_cpe = 300, obligations_incurred_total_cpe = 100,
                                       unobligated_balance_cpe = None)

    errors = number_of_errors(_FILE, database, models=[approp, approp_null])
    assert errors == 2
def test_failure(database):
    """ Test that tas that does not match is an error"""

    approp = AppropriationFactory(budget_authority_available_cpe = 1200, budget_authority_appropria_cpe = 100,
        budget_authority_unobligat_fyb = 200, adjustments_to_unobligated_cpe = 300, other_budgetary_resources_cpe = 400)
    approp_null = AppropriationFactory(budget_authority_available_cpe = 800, budget_authority_appropria_cpe = 100,
        budget_authority_unobligat_fyb = 200, adjustments_to_unobligated_cpe = 300, other_budgetary_resources_cpe = None)

    errors = number_of_errors(_FILE, database, models=[approp, approp_null])
    assert errors == 2
示例#16
0
def test_failure(database):
    """ Test that tas that does not match is an error"""

    approp = AppropriationFactory(other_budgetary_resources_cpe = 800, contract_authority_amount_cpe = 100,
                                  borrowing_authority_amount_cpe = 200, spending_authority_from_of_cpe = 300)
    approp_null = AppropriationFactory(other_budgetary_resources_cpe = 500, contract_authority_amount_cpe = 100,
                                  borrowing_authority_amount_cpe = 200, spending_authority_from_of_cpe = None)

    errors = number_of_errors(_FILE, database, models=[approp, approp_null])
    assert errors == 2
def test_success(database):
    """ Tests that TAS values in File A are not unique """
    tas1 = TASFactory()
    tas2 = TASFactory()
    database.session.add_all([tas1, tas2])
    database.session.flush()

    ap1 = AppropriationFactory(row_number=1, tas_id=tas1.tas_id)
    ap2 = AppropriationFactory(row_number=2, tas_id=tas2.tas_id)

    assert number_of_errors(_FILE, database, models=[ap1, ap2]) == 0
def test_success(database):
    """ Tests that TAS for File A are present in SF-133 """
    tas = "".join([_TAS, "_success"])

    ap1 = AppropriationFactory(job_id=1, row_number=1, tas=tas)
    ap2 = AppropriationFactory(job_id=1, row_number=2, tas=tas)

    sf = SF133Factory(line=1021, tas=tas, period=1, fiscal_year=2016, amount=1, agency_identifier="sys",
                      main_account_code="000", sub_account_code="000")

    assert number_of_errors(_FILE, database, models=[ap1, ap2, sf]) == 0
def test_success(database):
    """ Tests that Beginning Period of Availability and Ending Period of Availability are blank
    if Availability Type Code = X """
    tas = "".join([_TAS, "_success"])

    ap1 = AppropriationFactory(availability_type_code='x',
                               beginning_period_of_availa=None,
                               ending_period_of_availabil=None)
    ap2 = AppropriationFactory(availability_type_code='X',
                               beginning_period_of_availa=None,
                               ending_period_of_availabil=None)

    assert number_of_errors(_FILE, database, models=[ap1, ap2]) == 0
def test_failure_populated_ata_frec(database):
    """
        Tests that TAS for SF-133 are present in File A for FREC submissions
        Note this aspect of the filter is only relevant to FRECs 1601 and 1125
    """
    submission_id = randint(1000, 10000)
    tas, period, year, cgac_code, frec_code = 'some-tas', 2, 2002, '016', '1601'

    sf = SF133Factory(tas=tas,
                      period=period,
                      fiscal_year=year,
                      allocation_transfer_agency=cgac_code,
                      agency_identifier='some-other-code')
    submission = SubmissionFactory(submission_id=submission_id,
                                   reporting_fiscal_period=period,
                                   reporting_fiscal_year=year,
                                   cgac_code=None,
                                   frec_code=frec_code)
    ap = AppropriationFactory(tas='a-different-tas',
                              submission_id=submission_id)

    errors = number_of_errors(_FILE,
                              database,
                              models=[sf, ap],
                              submission=submission)
    assert errors == 1

    submission_id = randint(1000, 10000)
    tas, period, year, cgac_code, frec_code = 'some-tas', 2, 2002, '011', '1125'

    sf = SF133Factory(tas=tas,
                      period=period,
                      fiscal_year=year,
                      allocation_transfer_agency=cgac_code,
                      agency_identifier='some-other-code')
    submission = SubmissionFactory(submission_id=submission_id,
                                   reporting_fiscal_period=period,
                                   reporting_fiscal_year=year,
                                   cgac_code=None,
                                   frec_code=frec_code)
    ap = AppropriationFactory(tas='a-different-tas',
                              submission_id=submission_id)

    errors = number_of_errors(_FILE,
                              database,
                              models=[sf, ap],
                              submission=submission)
    assert errors == 1
示例#21
0
def test_failure(database):
    """ Tests that, for entries with the matching TAS, Appropriations deobligations_recoveries_r_cpe does not equals
    the sum of all corresponding entries for Object Class Program Acitivity fields ussgl487100_downward_adjus_cpe,
    ussgl497100_downward_adjus_cpe, ussgl487200_downward_adjus_cpe, ussgl497200_downward_adjus_cpe"""

    tas_ignore = ''.join([_TAS + "_ignore"])

    ap = AppropriationFactory(tas=_TAS, deobligations_recoveries_r_cpe=7)

    op_1 = ObjectClassProgramActivityFactory(tas=_TAS,
                                             ussgl487100_downward_adjus_cpe=1,
                                             ussgl497100_downward_adjus_cpe=1,
                                             ussgl487200_downward_adjus_cpe=1,
                                             ussgl497200_downward_adjus_cpe=1)

    op_2 = ObjectClassProgramActivityFactory(tas=_TAS,
                                             ussgl487100_downward_adjus_cpe=1,
                                             ussgl497100_downward_adjus_cpe=1,
                                             ussgl487200_downward_adjus_cpe=1,
                                             ussgl497200_downward_adjus_cpe=1)

    op_3 = ObjectClassProgramActivityFactory(tas=tas_ignore,
                                             ussgl487100_downward_adjus_cpe=1,
                                             ussgl497100_downward_adjus_cpe=1,
                                             ussgl487200_downward_adjus_cpe=1,
                                             ussgl497200_downward_adjus_cpe=1)

    assert number_of_errors(_FILE, database, models=[ap, op_1, op_2,
                                                     op_3]) == 1
示例#22
0
def test_success_scenario2(database):
    tas1 = TASFactory()
    tas2 = TASFactory()
    database.session.add_all([tas1, tas2])
    database.session.flush()

    ap = AppropriationFactory(tas_id=tas1.tas_id,
                              deobligations_recoveries_r_cpe=8)
    # Contributes 4
    op_1 = ObjectClassProgramActivityFactory(tas_id=tas1.tas_id,
                                             ussgl487100_downward_adjus_cpe=1,
                                             ussgl497100_downward_adjus_cpe=1,
                                             ussgl487200_downward_adjus_cpe=1,
                                             ussgl497200_downward_adjus_cpe=1)
    # Contributes another 4
    op_2 = ObjectClassProgramActivityFactory(tas_id=tas1.tas_id,
                                             ussgl487100_downward_adjus_cpe=1,
                                             ussgl497100_downward_adjus_cpe=1,
                                             ussgl487200_downward_adjus_cpe=1,
                                             ussgl497200_downward_adjus_cpe=1)
    # Doesn't contribute, different TAS
    op_3 = ObjectClassProgramActivityFactory(tas_id=tas2.tas_id,
                                             ussgl487100_downward_adjus_cpe=1,
                                             ussgl497100_downward_adjus_cpe=1,
                                             ussgl487200_downward_adjus_cpe=1,
                                             ussgl497200_downward_adjus_cpe=1)
    assert number_of_errors(_FILE, database, models=[ap, op_1, op_2,
                                                     op_3]) == 0
def test_failure_populated_011_fr_entity_cgac(database):
    """ Tests that TAS for SF-133 are present in File A for CGAC submissions """
    submission_id = randint(1000, 10000)
    tas, account_num, period, year, cgac_code, frec_code = 'some-tas', 1, 2, 2002, 'some-cgac-code', 'some-frec-code'

    cgac = CGACFactory(cgac_code=cgac_code, cgac_id=1)
    frec = FRECFactory(cgac_id=cgac.cgac_id, frec_code=frec_code, frec_id=1)
    sf1 = SF133Factory(tas=tas,
                       period=period,
                       fiscal_year=year,
                       allocation_transfer_agency=None,
                       agency_identifier='011',
                       account_num=account_num)
    ts1 = TASFactory(account_num=account_num, fr_entity_type=frec_code)
    submission = SubmissionFactory(submission_id=submission_id,
                                   reporting_fiscal_period=period,
                                   reporting_fiscal_year=year,
                                   cgac_code=cgac_code,
                                   frec_code=None)
    ap = AppropriationFactory(tas='a-different-tas',
                              submission_id=submission_id)

    errors = number_of_errors(_FILE,
                              database,
                              models=[cgac, frec, sf1, ts1, ap],
                              submission=submission)
    assert errors == 1
示例#24
0
def test_failure(database):
    """ Tests that, for entries with the matching TAS, Appropriations
    deobligations_recoveries_r_cpe does not equals the sum of all
    corresponding entries for Object Class Program Acitivity fields
    ussgl487100_downward_adjus_cpe, ussgl497100_downward_adjus_cpe,
    ussgl487200_downward_adjus_cpe, ussgl497200_downward_adjus_cpe"""
    tas = TASFactory()
    database.session.add(tas)
    database.session.flush()

    ap = AppropriationFactory(tas_id=tas.tas_id,
                              deobligations_recoveries_r_cpe=7)
    # Contributes 4
    op_1 = ObjectClassProgramActivityFactory(tas_id=tas.tas_id,
                                             ussgl487100_downward_adjus_cpe=1,
                                             ussgl497100_downward_adjus_cpe=1,
                                             ussgl487200_downward_adjus_cpe=1,
                                             ussgl497200_downward_adjus_cpe=1)
    # Contributes another 4
    op_2 = ObjectClassProgramActivityFactory(tas_id=tas.tas_id,
                                             ussgl487100_downward_adjus_cpe=1,
                                             ussgl497100_downward_adjus_cpe=1,
                                             ussgl487200_downward_adjus_cpe=1,
                                             ussgl497200_downward_adjus_cpe=1)

    assert number_of_errors(_FILE, database, models=[ap, op_1, op_2]) == 1
示例#25
0
def test_failure(database):
    """ Test that calculation fails for unequal values """
    approp = AppropriationFactory(status_of_budgetary_resour_cpe=Decimal(101.23),
                                  total_budgetary_resources_cpe=Decimal(102.34))

    errors = number_of_errors(_FILE, database, models=[approp])
    assert errors == 1
def test_failure_populated_ata_cgac(database):
    """ Tests that TAS for SF-133 are not present in File A for CGAC submissions """
    submission_id = randint(1000, 10000)
    tas, period, year, code = 'some-tas', 2, 2002, 'some-code'

    sf1 = SF133Factory(tas=tas,
                       period=period,
                       fiscal_year=year,
                       allocation_transfer_agency=code,
                       agency_identifier=code)
    submission = SubmissionFactory(submission_id=submission_id,
                                   reporting_fiscal_period=period,
                                   reporting_fiscal_year=year,
                                   cgac_code=code,
                                   frec_code=None)
    ap = AppropriationFactory(tas='a-different-tas',
                              submission_id=submission_id)

    errors = number_of_errors(_FILE,
                              database,
                              models=[sf1, ap],
                              submission=submission)
    assert errors == 1

    # accounting for CGAC 097, should still link with ata 021
    submission_id = randint(1000, 10000)
    tas, period, year, code = 'some-tas', 2, 2002, '097'

    sf1 = SF133Factory(tas=tas,
                       period=period,
                       fiscal_year=year,
                       allocation_transfer_agency='021',
                       agency_identifier='some-other-code')
    submission = SubmissionFactory(submission_id=submission_id,
                                   reporting_fiscal_period=period,
                                   reporting_fiscal_year=year,
                                   cgac_code=code,
                                   frec_code=None)
    ap = AppropriationFactory(tas='a-different-tas',
                              submission_id=submission_id)

    errors = number_of_errors(_FILE,
                              database,
                              models=[sf1, ap],
                              submission=submission)
    assert errors == 1
示例#27
0
def test_success_fyb_none(database):
    sf = SF133Factory(line=1000,
                      tas=_TAS,
                      period=1,
                      fiscal_year=2016,
                      amount=0)
    ap = AppropriationFactory(tas=_TAS, budget_authority_unobligat_fyb=None)

    assert number_of_errors(_FILE, database, models=[sf, ap]) == 0
示例#28
0
def test_failure(database):
    """ Tests that if the SF-133 amount for line 1000 for the same fiscal year and period is populated, then
        Appropriation budget_authority_unobligat_fyb is not populated
    """

    sf = SF133Factory(line=1000, tas=_TAS, period=1, fiscal_year=2016, amount=1)
    ap = AppropriationFactory(tas=_TAS, budget_authority_unobligat_fyb=None)

    assert number_of_errors(_FILE, database, models=[sf, ap]) == 1
def test_financial_tas_approp(database):
    """ Tests that TAS for File A are not present in SF-133
    except when a financial account (financial indicator type F)"""
    tas_1 = TASFactory(financial_indicator2='other indicator')
    tas_2 = TASFactory(financial_indicator2=None)

    ap_1 = AppropriationFactory(tas_id=tas_1.account_num)
    ap_2 = AppropriationFactory(tas_id=tas_2.account_num)

    assert number_of_errors(_FILE, database, models=[tas_1, tas_2, ap_1, ap_2]) == 2

    tas_3 = TASFactory(financial_indicator2='F')
    tas_4 = TASFactory(financial_indicator2='f')

    ap_3 = AppropriationFactory(tas_id=tas_3.account_num)
    ap_4 = AppropriationFactory(tas_id=tas_4.account_num)

    assert number_of_errors(_FILE, database, models=[tas_3, tas_4, ap_3, ap_4]) == 0
示例#30
0
def test_value_present(database):
    """budget_authority_unobligat_fyb populated does not require a previous submission"""
    populate_publish_status(database)
    sub_new = SubmissionFactory()
    ap_new = AppropriationFactory(submission_id=sub_new.submission_id)
    assert number_of_errors(_FILE,
                            database,
                            submission=sub_new,
                            models=[ap_new]) == 0