def test_object_class_program_activity_federal_account_mapping():
    """ Ensure the object_class_program_activity column-level mappings retrieve data from valid DB columns. """
    try:
        query_values = query_paths['object_class_program_activity']['federal_account'].values()
        account_download_filter('object_class_program_activity', FinancialAccountsByProgramActivityObjectClass,
                                {'fy': 2017, 'quarter': 4}, 'federal_account').values(*query_values)
    except FieldError:
        assert False
def test_award_financial_federal_account_mapping():
    """ Ensure the award_financial column-level mappings retrieve data from valid DB columns. """
    try:
        query_values = query_paths['award_financial']['federal_account'].values()
        account_download_filter('award_financial', FinancialAccountsByAwards, {'fy': 2017, 'quarter': 4},
                                'federal_account').values(*query_values)
    except FieldError:
        assert False
def test_account_balances_federal_account_mapping():
    """ Ensure the account_balances column-level mappings retrieve data from valid DB columns. """
    try:
        query_values = query_paths['account_balances']['federal_account'].values()
        account_download_filter('account_balances', AppropriationAccountBalances, {'fy': 2017, 'quarter': 4},
                                'federal_account').values(*query_values)
    except FieldError:
        assert False
Exemplo n.º 4
0
def test_award_financial_federal_account_mapping():
    """ Ensure the award_financial column-level mappings retrieve data from valid DB columns. """
    try:
        query_values = query_paths["award_financial"][
            "federal_account"].values()
        account_download_filter("award_financial", FinancialAccountsByAwards, {
            "fy": 2017,
            "quarter": 4
        }, "federal_account").values(*query_values)
    except FieldError:
        assert False
Exemplo n.º 5
0
def test_fyqp_filter(submissions):
    # Create file A models
    mommy.make("accounts.AppropriationAccountBalances", submission_id=1)
    mommy.make("accounts.AppropriationAccountBalances", submission_id=2)
    mommy.make("accounts.AppropriationAccountBalances", submission_id=4)  # Monthly

    queryset = account_download_filter("account_balances", AppropriationAccountBalances, {"fy": 1700, "quarter": 1})
    assert queryset.count() == 1

    queryset = account_download_filter("account_balances", AppropriationAccountBalances, {"fy": 1700, "period": 12})
    assert queryset.count() == 1
Exemplo n.º 6
0
def test_account_balances_federal_account_mapping():
    """ Ensure the account_balances column-level mappings retrieve data from valid DB columns. """
    try:
        query_values = query_paths["account_balances"][
            "federal_account"].values()
        account_download_filter("account_balances",
                                AppropriationAccountBalances, {
                                    "fy": 2017,
                                    "quarter": 4
                                }, "federal_account").values(*query_values)
    except FieldError:
        assert False
def test_cgac_agency_filter():
    """ Ensure the CGAC agency filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', agency_id='NOT')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount', agency_id='CGC')

    # Create file B models
    mommy.make('financial_activities.FinancialAccountsByProgramActivityObjectClass',
               treasury_account_id=tas1.treasury_account_identifier, reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31', final_of_fy=True)
    mommy.make('financial_activities.FinancialAccountsByProgramActivityObjectClass',
               treasury_account_id=tas2.treasury_account_identifier, reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31', final_of_fy=True)

    # Create ToptierAgency models
    mommy.make('references.ToptierAgency', toptier_agency_id=-9999, cgac_code='CGC')
    mommy.make('references.ToptierAgency', toptier_agency_id=-9998, cgac_code='NOT')

    # Filter by ToptierAgency (CGAC)
    queryset = account_download_filter('object_class_program_activity', FinancialAccountsByProgramActivityObjectClass, {
        'agency': '-9999',
        'fy': 1700,
        'quarter': 1
    })
    assert queryset.count() == 1
def test_federal_account_filter():
    """ Ensure the fiscal year and quarter filter is working """
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")
    fed_acct2 = mommy.make("accounts.FederalAccount")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct1)
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct2)

    # Create file A models
    mommy.make(
        "accounts.AppropriationAccountBalances",
        treasury_account_identifier=tas1,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=True,
    )
    mommy.make(
        "accounts.AppropriationAccountBalances",
        treasury_account_identifier=tas2,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=True,
    )

    queryset = account_download_filter("account_balances",
                                       AppropriationAccountBalances, {
                                           "federal_account": fed_acct1.id,
                                           "fy": 1700,
                                           "quarter": 1
                                       })
    assert queryset.count() == 1
def test_tas_account_filter_duplciate_tas_account_balances():
    """ Ensure the fiscal year and quarter filter is working, duplicate tas for account balances """
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct1)

    # Create file A models
    mommy.make(
        "accounts.AppropriationAccountBalances",
        treasury_account_identifier=tas1,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=False,
    )
    mommy.make(
        "accounts.AppropriationAccountBalances",
        treasury_account_identifier=tas1,
        reporting_period_start="1700-04-01",
        reporting_period_end="1700-06-30",
        final_of_fy=True,
    )

    queryset = account_download_filter("account_balances",
                                       AppropriationAccountBalances, {
                                           "fy": 1700,
                                           "quarter": 3
                                       }, "federal_account")
    assert queryset.count() == 1
def test_budget_subfunction_filter(submissions):
    """ Ensure the Budget Subfunction filter is working """
    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      budget_subfunction_code="SUB")
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount",
                      budget_subfunction_code="NOT")

    # Create file C models
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account_id=tas1.treasury_account_identifier,
        submission_id=1,
        transaction_obligated_amount=11,
    )
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account_id=tas2.treasury_account_identifier,
        submission_id=1,
        transaction_obligated_amount=22,
    )

    queryset = account_download_filter("award_financial",
                                       FinancialAccountsByAwards, {
                                           "budget_subfunction": "SUB",
                                           "fy": 1700,
                                           "quarter": 1
                                       })
    assert queryset.count() == 1
def test_tas_account_filter_duplciate_tas_financial_accounts_program_object():
    """ Ensure the fiscal year and quarter filter is working, duplicate tas for financial accounts """
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct1)

    # Create file A models
    mommy.make(
        "financial_activities.FinancialAccountsByProgramActivityObjectClass",
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=False,
    )
    mommy.make(
        "financial_activities.FinancialAccountsByProgramActivityObjectClass",
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start="1700-04-01",
        reporting_period_end="1700-06-30",
        final_of_fy=True,
    )

    queryset = account_download_filter(
        "object_class_program_activity",
        FinancialAccountsByProgramActivityObjectClass, {
            "fy": 1700,
            "quarter": 3
        })
    assert queryset.count() == 1
Exemplo n.º 12
0
def test_federal_account_filter():
    """ Ensure the fiscal year and quarter filter is working """
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')
    fed_acct2 = mommy.make('accounts.FederalAccount')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount',
                      federal_account=fed_acct1)
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount',
                      federal_account=fed_acct2)

    # Create file A models
    mommy.make('accounts.AppropriationAccountBalances',
               treasury_account_identifier=tas1,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31',
               final_of_fy=True)
    mommy.make('accounts.AppropriationAccountBalances',
               treasury_account_identifier=tas2,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31',
               final_of_fy=True)

    queryset = account_download_filter('account_balances',
                                       AppropriationAccountBalances, {
                                           'federal_account': fed_acct1.id,
                                           'fy': 1700,
                                           'quarter': 1
                                       })
    assert queryset.count() == 1
Exemplo n.º 13
0
def test_tas_account_filter_duplciate_tas_financial_accounts_program_object(
        submissions):
    """ Ensure the fiscal year and quarter filter is working, duplicate tas for financial accounts """
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct1)

    # Create file A models
    mommy.make(
        "financial_activities.FinancialAccountsByProgramActivityObjectClass",
        treasury_account_id=tas1.treasury_account_identifier,
        submission_id=1,
    )
    mommy.make(
        "financial_activities.FinancialAccountsByProgramActivityObjectClass",
        treasury_account_id=tas1.treasury_account_identifier,
        submission_id=3,
    )

    queryset = account_download_filter(
        "object_class_program_activity",
        FinancialAccountsByProgramActivityObjectClass, {
            "fy": 1700,
            "quarter": 3
        })
    assert queryset.count() == 1
Exemplo n.º 14
0
def test_tas_account_filter_later_qtr_treasury():
    """ Ensure the fiscal year and quarter filter is working, later quarter - treasury_account"""
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")
    fed_acct2 = mommy.make("accounts.FederalAccount")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount", federal_account=fed_acct1, tas_rendering_label="1")
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount", federal_account=fed_acct2, tas_rendering_label="2")

    # Create file A models
    mommy.make(
        "accounts.AppropriationAccountBalances",
        treasury_account_identifier=tas1,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=True,
    )
    mommy.make(
        "accounts.AppropriationAccountBalances",
        treasury_account_identifier=tas2,
        reporting_period_start="1700-04-01",
        reporting_period_end="1700-06-30",
        final_of_fy=True,
    )

    queryset = account_download_filter(
        "account_balances", AppropriationAccountBalances, {"fy": 1700, "quarter": 3}, "treasury_account"
    )
    assert queryset.count() == 2
Exemplo n.º 15
0
def test_federal_account_filter(submissions):
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")
    fed_acct2 = mommy.make("accounts.FederalAccount")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct1)
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct2)

    # Create file A models
    mommy.make("accounts.AppropriationAccountBalances",
               treasury_account_identifier=tas1,
               submission_id=1)
    mommy.make("accounts.AppropriationAccountBalances",
               treasury_account_identifier=tas2,
               submission_id=2)

    queryset = account_download_filter("account_balances",
                                       AppropriationAccountBalances, {
                                           "federal_account": fed_acct1.id,
                                           "fy": 1700,
                                           "quarter": 1
                                       })
    assert queryset.count() == 1
Exemplo n.º 16
0
def test_cgac_agency_filter():
    """ Ensure the CGAC agency filter is working """
    ta1 = mommy.make("references.ToptierAgency", toptier_agency_id=-9999, toptier_code="CGC")
    ta2 = mommy.make("references.ToptierAgency", toptier_agency_id=-9998, toptier_code="NOT")

    tas1 = mommy.make("accounts.TreasuryAppropriationAccount", agency_id="NOT", funding_toptier_agency=ta1)
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount", agency_id="CGC", funding_toptier_agency=ta2)

    # Create file B models
    mommy.make(
        "financial_activities.FinancialAccountsByProgramActivityObjectClass",
        treasury_account=tas1,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=True,
    )
    mommy.make(
        "financial_activities.FinancialAccountsByProgramActivityObjectClass",
        treasury_account=tas2,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=True,
    )

    # Filter by ToptierAgency (CGAC)
    queryset = account_download_filter(
        "object_class_program_activity",
        FinancialAccountsByProgramActivityObjectClass,
        {"agency": "-9999", "fy": 1700, "quarter": 1},
    )
    assert queryset.count() == 1
Exemplo n.º 17
0
def test_frec_agency_filter():
    """ Ensure the FREC agency filter is working """
    ta1 = mommy.make("references.ToptierAgency", toptier_agency_id=-9998, toptier_code="FAKE")
    ta2 = mommy.make("references.ToptierAgency", toptier_agency_id=-9999, toptier_code="FREC")

    tas1 = mommy.make(
        "accounts.TreasuryAppropriationAccount", agency_id="CGC", fr_entity_code="FAKE", funding_toptier_agency=ta1
    )
    tas2 = mommy.make(
        "accounts.TreasuryAppropriationAccount", agency_id="CGC", fr_entity_code="FREC", funding_toptier_agency=ta2
    )

    # Create file C models
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
    )
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account_id=tas2.treasury_account_identifier,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
    )

    # Filter by ToptierAgency (FREC)
    queryset = account_download_filter(
        "award_financial", FinancialAccountsByAwards, {"agency": "-9999", "fy": 1700, "quarter": 1}
    )
    assert queryset.count() == 1
def test_budget_function_filter():
    """ Ensure the Budget Function filter is working """
    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      budget_function_code="BUD")
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount",
                      budget_function_code="NOT")

    # Create file B models
    mommy.make(
        "financial_activities.FinancialAccountsByProgramActivityObjectClass",
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=True,
    )
    mommy.make(
        "financial_activities.FinancialAccountsByProgramActivityObjectClass",
        treasury_account_id=tas2.treasury_account_identifier,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        final_of_fy=True,
    )

    queryset = account_download_filter(
        "object_class_program_activity",
        FinancialAccountsByProgramActivityObjectClass,
        {
            "budget_function": "BUD",
            "fy": 1700,
            "quarter": 1
        },
    )
    assert queryset.count() == 1
def test_cgac_agency_filter():
    """ Ensure the CGAC agency filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', agency_id='NOT')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount', agency_id='CGC')

    # Create file B models
    mommy.make(
        'financial_activities.FinancialAccountsByProgramActivityObjectClass',
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start='1699-10-01',
        reporting_period_end='1699-12-31')
    mommy.make(
        'financial_activities.FinancialAccountsByProgramActivityObjectClass',
        treasury_account_id=tas2.treasury_account_identifier,
        reporting_period_start='1699-10-01',
        reporting_period_end='1699-12-31')

    # Create ToptierAgency models
    mommy.make('references.ToptierAgency',
               toptier_agency_id=-9999,
               cgac_code='CGC')
    mommy.make('references.ToptierAgency',
               toptier_agency_id=-9998,
               cgac_code='NOT')

    # Filter by ToptierAgency (CGAC)
    queryset = account_download_filter(
        'program_activity_object_class',
        FinancialAccountsByProgramActivityObjectClass, {
            'agency': '-9999',
            'fy': 1700,
            'quarter': 1
        })
    assert queryset.count() == 1
Exemplo n.º 20
0
def test_object_class_program_activity_federal_account_mapping():
    """ Ensure the object_class_program_activity column-level mappings retrieve data from valid DB columns. """
    try:
        query_values = query_paths["object_class_program_activity"][
            "federal_account"].values()
        account_download_filter(
            "object_class_program_activity",
            FinancialAccountsByProgramActivityObjectClass,
            {
                "fy": 2017,
                "quarter": 4
            },
            "federal_account",
        ).values(*query_values)
    except FieldError:
        assert False
def test_budget_subfunction_filter():
    """ Ensure the Budget Subfunction filter is working """
    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      budget_subfunction_code="SUB")
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount",
                      budget_subfunction_code="NOT")

    # Create file C models
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
    )
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account_id=tas2.treasury_account_identifier,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
    )

    queryset = account_download_filter("award_financial",
                                       FinancialAccountsByAwards, {
                                           "budget_subfunction": "SUB",
                                           "fy": 1700,
                                           "quarter": 1
                                       })
    assert queryset.count() == 1
def test_tas_account_filter_later_qtr_award_financial():
    """ Ensure the fiscal year and quarter filter is working, later quarter - award_financial"""
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')
    fed_acct2 = mommy.make('accounts.FederalAccount')

    # Create Program Activities
    prog1 = mommy.make('references.RefProgramActivity', program_activity_code='0001')
    prog2 = mommy.make('references.RefProgramActivity', program_activity_code='0002')

    # Create Object Classes
    obj_cls1 = mommy.make('references.ObjectClass', object_class='001')
    obj_cls2 = mommy.make('references.ObjectClass', object_class='002')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', federal_account=fed_acct1, tas_rendering_label='1')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount', federal_account=fed_acct2, tas_rendering_label='2')

    # Create file A models
    mommy.make('awards.FinancialAccountsByAwards', treasury_account=tas1,
               reporting_period_start='1699-10-01', reporting_period_end='1699-12-31',
               program_activity=prog1, object_class=obj_cls1)
    mommy.make('awards.FinancialAccountsByAwards', treasury_account=tas2,
               reporting_period_start='1700-04-01', reporting_period_end='1700-06-30',
               program_activity=prog2, object_class=obj_cls2)

    queryset = account_download_filter('award_financial', FinancialAccountsByAwards, {
        'fy': 1700,
        'quarter': 3
    }, 'treasury_account')
    assert queryset.count() == 2
Exemplo n.º 23
0
def test_frec_agency_filter(submissions):
    """ Ensure the FREC agency filter is working """
    ta1 = mommy.make("references.ToptierAgency", toptier_agency_id=-9998, toptier_code="FAKE")
    ta2 = mommy.make("references.ToptierAgency", toptier_agency_id=-9999, toptier_code="FREC")

    tas1 = mommy.make(
        "accounts.TreasuryAppropriationAccount", agency_id="CGC", fr_entity_code="FAKE", funding_toptier_agency=ta1
    )
    tas2 = mommy.make(
        "accounts.TreasuryAppropriationAccount", agency_id="CGC", fr_entity_code="FREC", funding_toptier_agency=ta2
    )

    # Create file C models
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account_id=tas1.treasury_account_identifier,
        submission_id=1,
        transaction_obligated_amount=11,
    )
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account_id=tas2.treasury_account_identifier,
        submission_id=1,
        transaction_obligated_amount=22,
    )

    # Filter by ToptierAgency (FREC)
    queryset = account_download_filter(
        "award_financial", FinancialAccountsByAwards, {"agency": "-9999", "fy": 1700, "quarter": 1}
    )
    assert queryset.count() == 1
Exemplo n.º 24
0
def test_tas_account_filter_later_qtr_federal(submissions):
    """ Ensure the fiscal year and quarter filter is working, later quarter - federal account"""
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")
    fed_acct2 = mommy.make("accounts.FederalAccount")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct1,
                      tas_rendering_label="1")
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct2,
                      tas_rendering_label="2")

    # Create file A models
    mommy.make("accounts.AppropriationAccountBalances",
               treasury_account_identifier=tas1,
               submission_id=1)
    mommy.make("accounts.AppropriationAccountBalances",
               treasury_account_identifier=tas2,
               submission_id=3)

    queryset = account_download_filter("account_balances",
                                       AppropriationAccountBalances, {
                                           "fy": 1700,
                                           "quarter": 3
                                       }, "federal_account")

    # this count is 1 because we only pull account data from the quarter requested
    assert queryset.count() == 1
Exemplo n.º 25
0
def test_tas_account_filter_later_qtr_treasury():
    """ Ensure the fiscal year and quarter filter is working, later quarter - treasury_account"""
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')
    fed_acct2 = mommy.make('accounts.FederalAccount')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount',
                      federal_account=fed_acct1,
                      tas_rendering_label='1')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount',
                      federal_account=fed_acct2,
                      tas_rendering_label='2')

    # Create file A models
    mommy.make('accounts.AppropriationAccountBalances',
               treasury_account_identifier=tas1,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31',
               final_of_fy=True)
    mommy.make('accounts.AppropriationAccountBalances',
               treasury_account_identifier=tas2,
               reporting_period_start='1700-04-01',
               reporting_period_end='1700-06-30',
               final_of_fy=True)

    queryset = account_download_filter('account_balances',
                                       AppropriationAccountBalances, {
                                           'fy': 1700,
                                           'quarter': 3
                                       }, 'treasury_account')
    assert queryset.count() == 2
Exemplo n.º 26
0
def test_tas_account_filter_duplciate_tas_account_balances():
    """ Ensure the fiscal year and quarter filter is working, duplicate tas for account balances """
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount',
                      federal_account=fed_acct1)

    # Create file A models
    mommy.make('accounts.AppropriationAccountBalances',
               treasury_account_identifier=tas1,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31',
               final_of_fy=False)
    mommy.make('accounts.AppropriationAccountBalances',
               treasury_account_identifier=tas1,
               reporting_period_start='1700-04-01',
               reporting_period_end='1700-06-30',
               final_of_fy=True)

    queryset = account_download_filter('account_balances',
                                       AppropriationAccountBalances, {
                                           'fy': 1700,
                                           'quarter': 3
                                       }, 'federal_account')
    assert queryset.count() == 1
Exemplo n.º 27
0
def test_budget_subfunction_filter():
    """ Ensure the Budget Subfunction filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount',
                      budget_subfunction_code='SUB')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount',
                      budget_subfunction_code='NOT')

    # Create file C models
    mommy.make('awards.FinancialAccountsByAwards',
               treasury_account_id=tas1.treasury_account_identifier,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31')
    mommy.make('awards.FinancialAccountsByAwards',
               treasury_account_id=tas2.treasury_account_identifier,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31')

    queryset = account_download_filter('award_financial',
                                       FinancialAccountsByAwards, {
                                           'budget_subfunction': 'SUB',
                                           'fy': 1700,
                                           'quarter': 1
                                       })
    assert queryset.count() == 1
Exemplo n.º 28
0
def test_tas_account_filter_duplciate_tas_financial_accounts_program_object():
    """ Ensure the fiscal year and quarter filter is working, duplicate tas for financial accounts """
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount',
                      federal_account=fed_acct1)

    # Create file A models
    mommy.make(
        'financial_activities.FinancialAccountsByProgramActivityObjectClass',
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start='1699-10-01',
        reporting_period_end='1699-12-31',
        final_of_fy=False)
    mommy.make(
        'financial_activities.FinancialAccountsByProgramActivityObjectClass',
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start='1700-04-01',
        reporting_period_end='1700-06-30',
        final_of_fy=True)

    queryset = account_download_filter(
        'object_class_program_activity',
        FinancialAccountsByProgramActivityObjectClass, {
            'fy': 1700,
            'quarter': 3
        })
    assert queryset.count() == 1
Exemplo n.º 29
0
def test_budget_function_filter():
    """ Ensure the Budget Function filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount',
                      budget_function_code='BUD')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount',
                      budget_function_code='NOT')

    # Create file B models
    mommy.make(
        'financial_activities.FinancialAccountsByProgramActivityObjectClass',
        treasury_account_id=tas1.treasury_account_identifier,
        reporting_period_start='1699-10-01',
        reporting_period_end='1699-12-31',
        final_of_fy=True)
    mommy.make(
        'financial_activities.FinancialAccountsByProgramActivityObjectClass',
        treasury_account_id=tas2.treasury_account_identifier,
        reporting_period_start='1699-10-01',
        reporting_period_end='1699-12-31',
        final_of_fy=True)

    queryset = account_download_filter(
        'object_class_program_activity',
        FinancialAccountsByProgramActivityObjectClass, {
            'budget_function': 'BUD',
            'fy': 1700,
            'quarter': 1
        })
    assert queryset.count() == 1
Exemplo n.º 30
0
def test_tas_account_filter_later_qtr_treasury(submissions):
    """ Ensure the fiscal year and quarter filter is working, later quarter - treasury_account"""
    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount", tas_rendering_label="1")
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount", tas_rendering_label="2")

    # Create file A models
    mommy.make("accounts.AppropriationAccountBalances", treasury_account_identifier=tas1, submission_id=1)
    mommy.make("accounts.AppropriationAccountBalances", treasury_account_identifier=tas2, submission_id=3)

    queryset = account_download_filter(
        "account_balances", AppropriationAccountBalances, {"fy": 1700, "quarter": 3}, "treasury_account"
    )
    assert queryset.count() == 1
def test_tas_account_filter_later_qtr_award_financial(submissions):
    """ Ensure the fiscal year and quarter filter is working, later quarter - award_financial"""
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")
    fed_acct2 = mommy.make("accounts.FederalAccount")

    # Create Program Activities
    prog1 = mommy.make("references.RefProgramActivity",
                       program_activity_code="0001")
    prog2 = mommy.make("references.RefProgramActivity",
                       program_activity_code="0002")

    # Create Object Classes
    obj_cls1 = mommy.make("references.ObjectClass", object_class="001")
    obj_cls2 = mommy.make("references.ObjectClass", object_class="002")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct1,
                      tas_rendering_label="1")
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct2,
                      tas_rendering_label="2")

    # Create file C models
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account=tas1,
        program_activity=prog1,
        object_class=obj_cls1,
        submission_id=1,
        transaction_obligated_amount=33,
    )
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account=tas2,
        program_activity=prog2,
        object_class=obj_cls2,
        submission_id=3,
        transaction_obligated_amount=33,
    )

    queryset = account_download_filter("award_financial",
                                       FinancialAccountsByAwards, {
                                           "fy": 1700,
                                           "quarter": 1
                                       }, "treasury_account")
    assert queryset.count() == 1
def test_tas_account_filter_later_qtr_award_financial():
    """ Ensure the fiscal year and quarter filter is working, later quarter - award_financial"""
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")
    fed_acct2 = mommy.make("accounts.FederalAccount")

    # Create Program Activities
    prog1 = mommy.make("references.RefProgramActivity",
                       program_activity_code="0001")
    prog2 = mommy.make("references.RefProgramActivity",
                       program_activity_code="0002")

    # Create Object Classes
    obj_cls1 = mommy.make("references.ObjectClass", object_class="001")
    obj_cls2 = mommy.make("references.ObjectClass", object_class="002")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct1,
                      tas_rendering_label="1")
    tas2 = mommy.make("accounts.TreasuryAppropriationAccount",
                      federal_account=fed_acct2,
                      tas_rendering_label="2")

    # Create file A models
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account=tas1,
        reporting_period_start="1699-10-01",
        reporting_period_end="1699-12-31",
        program_activity=prog1,
        object_class=obj_cls1,
    )
    mommy.make(
        "awards.FinancialAccountsByAwards",
        treasury_account=tas2,
        reporting_period_start="1700-04-01",
        reporting_period_end="1700-06-30",
        program_activity=prog2,
        object_class=obj_cls2,
    )

    queryset = account_download_filter("award_financial",
                                       FinancialAccountsByAwards, {
                                           "fy": 1700,
                                           "quarter": 3
                                       }, "treasury_account")
    assert queryset.count() == 2
Exemplo n.º 33
0
def test_tas_account_filter_duplicate_tas_account_balances(submissions):
    """ Ensure the fiscal year and quarter filter is working, duplicate tas for account balances """
    # Create FederalAccount models
    fed_acct1 = mommy.make("accounts.FederalAccount")

    # Create TAS models
    tas1 = mommy.make("accounts.TreasuryAppropriationAccount", federal_account=fed_acct1)

    # Create file A models
    mommy.make("accounts.AppropriationAccountBalances", treasury_account_identifier=tas1, submission_id=1)
    mommy.make("accounts.AppropriationAccountBalances", treasury_account_identifier=tas1, submission_id=3)

    queryset = account_download_filter(
        "account_balances", AppropriationAccountBalances, {"fy": 1700, "quarter": 3}, "federal_account"
    )
    assert queryset.count() == 1
def test_fyq_filter():
    """ Ensure the fiscal year and quarter filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount')

    # Create file A models
    mommy.make('accounts.AppropriationAccountBalances', treasury_account_identifier=tas1,
               reporting_period_start='1699-10-01', reporting_period_end='1699-12-31', final_of_fy=True)
    mommy.make('accounts.AppropriationAccountBalances', treasury_account_identifier=tas2,
               reporting_period_start='1700-01-01', reporting_period_end='1700-03-31', final_of_fy=True)

    queryset = account_download_filter('account_balances', AppropriationAccountBalances, {
        'fy': 1700,
        'quarter': 1
    })
    assert queryset.count() == 1
def test_budget_subfunction_filter():
    """ Ensure the Budget Subfunction filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', budget_subfunction_code='SUB')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount', budget_subfunction_code='NOT')

    # Create file C models
    mommy.make('awards.FinancialAccountsByAwards', treasury_account_id=tas1.treasury_account_identifier,
               reporting_period_start='1699-10-01', reporting_period_end='1699-12-31')
    mommy.make('awards.FinancialAccountsByAwards', treasury_account_id=tas2.treasury_account_identifier,
               reporting_period_start='1699-10-01', reporting_period_end='1699-12-31')

    queryset = account_download_filter('award_financial', FinancialAccountsByAwards, {
        'budget_subfunction': 'SUB',
        'fy': 1700,
        'quarter': 1
    })
    assert queryset.count() == 1
Exemplo n.º 36
0
def test_tas_account_filter_later_qtr_award_financial():
    """ Ensure the fiscal year and quarter filter is working, later quarter - award_financial"""
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')
    fed_acct2 = mommy.make('accounts.FederalAccount')

    # Create Program Activities
    prog1 = mommy.make('references.RefProgramActivity',
                       program_activity_code='0001')
    prog2 = mommy.make('references.RefProgramActivity',
                       program_activity_code='0002')

    # Create Object Classes
    obj_cls1 = mommy.make('references.ObjectClass', object_class='001')
    obj_cls2 = mommy.make('references.ObjectClass', object_class='002')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount',
                      federal_account=fed_acct1,
                      tas_rendering_label='1')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount',
                      federal_account=fed_acct2,
                      tas_rendering_label='2')

    # Create file A models
    mommy.make('awards.FinancialAccountsByAwards',
               treasury_account=tas1,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31',
               program_activity=prog1,
               object_class=obj_cls1)
    mommy.make('awards.FinancialAccountsByAwards',
               treasury_account=tas2,
               reporting_period_start='1700-04-01',
               reporting_period_end='1700-06-30',
               program_activity=prog2,
               object_class=obj_cls2)

    queryset = account_download_filter('award_financial',
                                       FinancialAccountsByAwards, {
                                           'fy': 1700,
                                           'quarter': 3
                                       }, 'treasury_account')
    assert queryset.count() == 2
def test_tas_account_filter_duplciate_tas_account_balances():
    """ Ensure the fiscal year and quarter filter is working, duplicate tas for account balances """
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', federal_account=fed_acct1)

    # Create file A models
    mommy.make('accounts.AppropriationAccountBalances', treasury_account_identifier=tas1,
               reporting_period_start='1699-10-01', reporting_period_end='1699-12-31', final_of_fy=False)
    mommy.make('accounts.AppropriationAccountBalances', treasury_account_identifier=tas1,
               reporting_period_start='1700-04-01', reporting_period_end='1700-06-30', final_of_fy=True)

    queryset = account_download_filter('account_balances', AppropriationAccountBalances, {
        'fy': 1700,
        'quarter': 3
    }, 'federal_account')
    assert queryset.count() == 1
def test_budget_function_filter():
    """ Ensure the Budget Function filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', budget_function_code='BUD')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount', budget_function_code='NOT')

    # Create file B models
    mommy.make('financial_activities.FinancialAccountsByProgramActivityObjectClass',
               treasury_account_id=tas1.treasury_account_identifier, reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31', final_of_fy=True)
    mommy.make('financial_activities.FinancialAccountsByProgramActivityObjectClass',
               treasury_account_id=tas2.treasury_account_identifier, reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31', final_of_fy=True)

    queryset = account_download_filter('object_class_program_activity', FinancialAccountsByProgramActivityObjectClass, {
        'budget_function': 'BUD',
        'fy': 1700,
        'quarter': 1
    })
    assert queryset.count() == 1
def test_tas_account_filter_duplciate_tas_financial_accounts_program_object():
    """ Ensure the fiscal year and quarter filter is working, duplicate tas for financial accounts """
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', federal_account=fed_acct1)

    # Create file A models
    mommy.make('financial_activities.FinancialAccountsByProgramActivityObjectClass',
               treasury_account_id=tas1.treasury_account_identifier, reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31', final_of_fy=False)
    mommy.make('financial_activities.FinancialAccountsByProgramActivityObjectClass',
               treasury_account_id=tas1.treasury_account_identifier, reporting_period_start='1700-04-01',
               reporting_period_end='1700-06-30', final_of_fy=True)

    queryset = account_download_filter('object_class_program_activity', FinancialAccountsByProgramActivityObjectClass, {
        'fy': 1700,
        'quarter': 3
    })
    assert queryset.count() == 1
def test_tas_account_filter_later_qtr_treasury():
    """ Ensure the fiscal year and quarter filter is working, later quarter - treasury_account"""
    # Create FederalAccount models
    fed_acct1 = mommy.make('accounts.FederalAccount')
    fed_acct2 = mommy.make('accounts.FederalAccount')

    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', federal_account=fed_acct1, tas_rendering_label='1')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount', federal_account=fed_acct2, tas_rendering_label='2')

    # Create file A models
    mommy.make('accounts.AppropriationAccountBalances', treasury_account_identifier=tas1,
               reporting_period_start='1699-10-01', reporting_period_end='1699-12-31', final_of_fy=True)
    mommy.make('accounts.AppropriationAccountBalances', treasury_account_identifier=tas2,
               reporting_period_start='1700-04-01', reporting_period_end='1700-06-30', final_of_fy=True)

    queryset = account_download_filter('account_balances', AppropriationAccountBalances, {
        'fy': 1700,
        'quarter': 3
    }, 'treasury_account')
    assert queryset.count() == 2
Exemplo n.º 41
0
def test_frec_agency_filter():
    """ Ensure the FREC agency filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount',
                      agency_id='CGC',
                      fr_entity_code='FAKE')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount',
                      agency_id='CGC',
                      fr_entity_code='FREC')

    # Create file C models
    mommy.make('awards.FinancialAccountsByAwards',
               treasury_account_id=tas1.treasury_account_identifier,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31')
    mommy.make('awards.FinancialAccountsByAwards',
               treasury_account_id=tas2.treasury_account_identifier,
               reporting_period_start='1699-10-01',
               reporting_period_end='1699-12-31')

    # Create ToptierAgency models
    mommy.make('references.ToptierAgency',
               toptier_agency_id=-9999,
               cgac_code='FREC')
    mommy.make('references.ToptierAgency',
               toptier_agency_id=-9998,
               cgac_code='FAKE')
    mommy.make('references.ToptierAgency',
               toptier_agency_id=-9997,
               cgac_code='CGC')

    # Filter by ToptierAgency (FREC)
    queryset = account_download_filter('award_financial',
                                       FinancialAccountsByAwards, {
                                           'agency': '-9999',
                                           'fy': 1700,
                                           'quarter': 1
                                       })
    assert queryset.count() == 1
def test_frec_agency_filter():
    """ Ensure the FREC agency filter is working """
    # Create TAS models
    tas1 = mommy.make('accounts.TreasuryAppropriationAccount', agency_id='CGC', fr_entity_code='FAKE')
    tas2 = mommy.make('accounts.TreasuryAppropriationAccount', agency_id='CGC', fr_entity_code='FREC')

    # Create file C models
    mommy.make('awards.FinancialAccountsByAwards', treasury_account_id=tas1.treasury_account_identifier,
               reporting_period_start='1699-10-01', reporting_period_end='1699-12-31')
    mommy.make('awards.FinancialAccountsByAwards', treasury_account_id=tas2.treasury_account_identifier,
               reporting_period_start='1699-10-01', reporting_period_end='1699-12-31')

    # Create ToptierAgency models
    mommy.make('references.ToptierAgency', toptier_agency_id=-9999, cgac_code='FREC')
    mommy.make('references.ToptierAgency', toptier_agency_id=-9998, cgac_code='FAKE')
    mommy.make('references.ToptierAgency', toptier_agency_id=-9997, cgac_code='CGC')

    # Filter by ToptierAgency (FREC)
    queryset = account_download_filter('award_financial', FinancialAccountsByAwards, {
        'agency': '-9999',
        'fy': 1700,
        'quarter': 1
    })
    assert queryset.count() == 1