コード例 #1
0
def test_transacoes_pre_definidas():
    # accounts:
    cash_in = conta('cash_in')
    cash_out = conta('cash_out')
    conta_desconto = conta('conta_desconto')

    # defining the Transaction Schemas:
    T('VendaComDesconto10', d_from=cash_in, c_to=cash_out)

    T('Desconto10', amount=10, c_to=conta_desconto)

    # defining new combined Transaction Schemas:
    VendaComDesconto10 =\
    T('VendaComDesconto10')(
        T('Desconto10')
    )

    # checking registered Transaction Schemas:
    assert Schema.objects.all().count() == 2

    # using the schema:
    VendaComDesconto10(100).save()

    # checking transactions in the ledger
    transactions = Ledger.objects.all()
    assert transactions.count() == 2
    assert transactions[0].amount == Decimal(100)
    assert transactions[1].amount == Decimal(10)

    # checking account balances:
    assert cash_in.balance() == Decimal(-100)
    assert cash_out.balance() == Decimal(90)
    assert conta_desconto.balance() == Decimal(10)
コード例 #2
0
def test_venda_com_imposto():
    # accounts:
    cash_in = conta('cash_in')
    cash_out = conta('cash_out')
    conta_imposto = conta('conta_imposto')

    # defining the Transaction Schema:
    VendaComImpostoPercentual = T('VendaComImpostoPercentual',
                                  d_from=cash_in,
                                  c_to=cash_out)(T('ImpostoPercentual',
                                                   amount=Percentual(10),
                                                   c_to=conta_imposto))

    # checking registered Transaction Schemas:
    assert Schema.objects.all().count() == 2

    # using the Transaction Schema:
    VendaComImpostoPercentual(100).save()

    # checking transactions in the ledger
    transactions = Ledger.objects.all()
    assert transactions.count() == 2
    assert transactions[0].amount == Decimal(100)
    assert transactions[1].amount == Decimal(10)

    assert transactions[1].c_to == conta_imposto

    # checking account balances:
    assert cash_in.balance() == Decimal(-100)
    assert cash_out.balance() == Decimal(90)
    assert conta_imposto.balance() == Decimal(10)
コード例 #3
0
def test():
    # creating a Transaction by naming it automatically
    # registers its Schema to be reused:
    T('VendaComplicada', amount=100)

    T('ImpostoInjusto', amount=Percentual(10))

    assert Schema.objects.all().count() == 2

    assert R.VendaComplicada
    assert type(R.VendaComplicada) == T
    assert R.VendaComplicada.amount == 100

    assert R.ImpostoInjusto
    assert type(R.ImpostoInjusto) == T
    assert R.ImpostoInjusto.amount == Percentual(10)

    #using:
    VendaComplicada = \
    R.VendaComplicada(
        R.ImpostoInjusto
    )
コード例 #4
0
def test_venda_com_imposc_tocom_comissao_com_imposc_tocom_composicao_de_transacoes_3(
):
    # accounts:
    cash_in = conta('cash_in')
    cash_out = conta('cash_out')
    conta_comissao = conta('conta_comissao')
    conta_imposto = conta('conta_imposto')

    # defining the Transaction Schemas:
    T('VendaComImpostoEComissao', d_from=cash_in, c_to=cash_out)

    T('ComissaoDe10Porcento', amount=Percentual(10), c_to=conta_comissao)

    T('ImpostoDe10Porcento', amount=Percentual(10), c_to=conta_imposto)

    # defining new combined Transaction Schema another order:
    VendaComImpostoEComissao2 =\
    T('VendaComImpostoEComissao')(
        T('ImpostoDe10Porcento')(
            T('ComissaoDe10Porcento')(
                T('ImpostoDe10Porcento')
            )
        )
    )

    # checking registered Transaction Schemas:
    assert Schema.objects.all().count() == 3

    # using the Transaction Schema:
    VendaComImpostoEComissao2(100).save()

    # checking transactions in the ledger
    transactions = Ledger.objects.all()
    assert transactions.count() == 4
    assert transactions[0].amount == Decimal(100)
    assert transactions[1].amount == Decimal(10)
    assert transactions[2].amount == Decimal(1)
    assert transactions[3].amount == Decimal('0.10')

    # checking account balances:
    assert cash_in.balance() == Decimal(-100)
    assert cash_out.balance() == Decimal(90)
    assert conta_comissao.balance() == Decimal('0.90')
    assert conta_imposto.balance() == Decimal('9.10')
コード例 #5
0
def contas():
    # accounts:
    class A:
        in_labrdev_sch = conta(
            'Income.Margarin.LabrDev.LongView.SAManager.SCH')
        in_ggeek_gespag = conta('Income.Margarin.GarageGeek.Gespag')

        as_cash = conta('Assets.cash')

        ex_prolabore = conta('Expense.Prolabore')
        ex_das_anexo_iii = conta('Expense.Tax.DAS.AnexoIII')
        ex_das_anexo_v = conta('Expense.Tax.DAS.AnexoV')
        ex_iss_rio = conta('Expense.Tax.Rio.ISS')
        ex_irrf = conta('Expense.Tax.BR.IRRF')
        ex_inss = conta('Expense.Tax.BR.INSS')

    # defining Simple Transaction Schemas:
    T('PrestacaoServico_GGeek', d_from=A.in_ggeek_gespag, c_to=A.as_cash)

    T('ProLaboreMinimo',
      d_from=A.as_cash,
      amount=SalarioMinimo(),
      c_to=A.ex_prolabore)

    T('ProLaboreFatorR', d_from=A.as_cash, amount=2240, c_to=A.ex_prolabore)

    T('DASAnexoIII', amount=Percentual(6), c_to=A.ex_das_anexo_iii)

    T('DASAnexoV', amount=Percentual(15.5), c_to=A.ex_das_anexo_v)

    T('IssRio', amount=Percentual(2.17), c_to=A.ex_iss_rio)

    T('IRRF', amount=IRRF(), c_to=A.ex_irrf)

    T('INSS', amount=INSS(), c_to=A.ex_inss)

    return A
コード例 #6
0
def test_venda():
    # accounts:
    cash_in = conta('cash_in')
    cash_out = conta('cash_out')

    # defining the Transaction Schema:
    Venda = T('Venda', d_from=cash_in, c_to=cash_out)

    # checking registered Transaction Schemas:
    assert Schema.objects.all().count() == 1

    # using the Transaction Schema:
    Venda(100).save()

    # checking transactions in the ledger
    transactions = Ledger.objects.all()
    assert transactions.count() == 1
    assert transactions[0].amount == Decimal(100)

    # checking account balances:
    assert cash_in.balance() == Decimal(-100)
    assert cash_out.balance() == Decimal(100)