Esempio n. 1
0
    def test_transacao_com_soma_nao_zero_nao_eh_consistente(self):
        transacao = Transacao(registro=self.registro,
                              data=datetime.date.today(),
                              descricao="Transação de teste")

        transacao.save()

        transacao.lancamentos.create(
            conta=join("gastos", "funcionarios"),
            valor=Decimal("100.00"),
        )

        transacao.lancamentos.create(
            conta=join("bens", "caixa"),
            valor=Decimal("-99.00"),
        )

        self.assertFalse(transacao.eh_consistente)
Esempio n. 2
0
    def test_transacao_com_soma_nao_zero_nao_eh_consistente(self):
        transacao = Transacao(
                registro=self.registro,
                data=datetime.date.today(),
                descricao="Transação de teste"
        )

        transacao.save()

        transacao.lancamentos.create(
            conta=join("gastos", "funcionarios"),
            valor=Decimal("100.00"),
        )

        transacao.lancamentos.create(
            conta=join("bens", "caixa"),
            valor=Decimal("-99.00"),
        )

        self.assertFalse(transacao.eh_consistente)
Esempio n. 3
0
    def test_transacao_faz_novo_balanco(self):
        transacao = Transacao(
                registro=self.registro,
                data=datetime.date.today(),
                descricao="Transação de teste"
        )

        transacao.save()

        transacao.lancamentos.create(
            conta=join("gastos", "funcionarios"),
            valor=Decimal("100.00"),
        )

        transacao.lancamentos.create(
            conta=join("bens", "caixa"),
            valor=Decimal("-100.00"),
        )

        self.assertEqual(self.registro.balanco(join("gastos", "funcionarios")), Decimal("100"))
        self.assertEqual(self.registro.balanco(join("bens", "caixa")), Decimal("-100"))
Esempio n. 4
0
    def test_transacao_faz_novo_balanco(self):
        transacao = Transacao(registro=self.registro,
                              data=datetime.date.today(),
                              descricao="Transação de teste")

        transacao.save()

        transacao.lancamentos.create(
            conta=join("gastos", "funcionarios"),
            valor=Decimal("100.00"),
        )

        transacao.lancamentos.create(
            conta=join("bens", "caixa"),
            valor=Decimal("-100.00"),
        )

        self.assertEqual(self.registro.balanco(join("gastos", "funcionarios")),
                         Decimal("100"))
        self.assertEqual(self.registro.balanco(join("bens", "caixa")),
                         Decimal("-100"))
Esempio n. 5
0
    def teste_com_uma_conta(self):
        self.transacao.lancamentos.create(
            valor=Decimal("10.00"),
            conta=join("gastos", "funcionarios"),
        )

        self.transacao.lancamentos.create(
            valor=Decimal("10.00"),
            conta=join("gastos", "fornecedores", "açougue"),
        )

        self.transacao.lancamentos.create(
            valor=Decimal("10.00"),
            conta=join("gastos", "fornecedores", "mercado"),
        )

        self.transacao.lancamentos.create(
            valor=Decimal("10.00"),
            conta=join("gastos", "fornecedores", "vinho"),
        )

        self.transacao.lancamentos.create(
            valor=Decimal("10.00"),
            conta=join("gastos", "impostos"),
        )

        self.transacao.lancamentos.create(
            valor=Decimal("-50.00"),
            conta=join("bens", "caixa"),
        )

        hierarquia_do_registro = Contas()
        hierarquia_do_registro.digerir_registro(self.registro)

        hierarquia_das_transacoes = Contas()
        hierarquia_das_transacoes.digerir_transacoes([self.transacao])

        hierarquia_dos_lancamentos = Contas()
        hierarquia_dos_lancamentos.digerir_lancamentos(
            self.transacao.lancamentos.all())

        self.assertEqual(hierarquia_do_registro, hierarquia_das_transacoes)
        self.assertEqual(hierarquia_das_transacoes, hierarquia_dos_lancamentos)

        resultado_correto = {
            u"gastos": {
                u"fornecedores": {
                    u"mercado": {},
                    u"açougue": {},
                    u"vinho": {},
                },
                u"impostos": {},
                u"funcionarios": {},
            },
            u"bens": {
                u"caixa": {},
            },
        }

        self.assertEqual(hierarquia_dos_lancamentos.contas, resultado_correto)
Esempio n. 6
0
 def test_balanco_inicial_zero(self):
     self.assertEqual(self.registro.balanco(join("gastos", "funcionarios")), Decimal("0"))
Esempio n. 7
0
    def teste_com_uma_conta(self):
        self.transacao.lancamentos.create(
                valor=Decimal("10.00"),
                conta=join("gastos", "funcionarios"),
        )

        self.transacao.lancamentos.create(
                valor=Decimal("10.00"),
                conta=join("gastos", "fornecedores", "açougue"),
        )

        self.transacao.lancamentos.create(
                valor=Decimal("10.00"),
                conta=join("gastos", "fornecedores", "mercado"),
        )

        self.transacao.lancamentos.create(
                valor=Decimal("10.00"),
                conta=join("gastos", "fornecedores", "vinho"),
        )

        self.transacao.lancamentos.create(
                valor=Decimal("10.00"),
                conta=join("gastos", "impostos"),
        )

        self.transacao.lancamentos.create(
                valor=Decimal("-50.00"),
                conta=join("bens", "caixa"),
        )

        hierarquia_do_registro = Contas()
        hierarquia_do_registro.digerir_registro(self.registro)


        hierarquia_das_transacoes = Contas()
        hierarquia_das_transacoes.digerir_transacoes([self.transacao])


        hierarquia_dos_lancamentos = Contas()
        hierarquia_dos_lancamentos.digerir_lancamentos(self.transacao.lancamentos.all())

        self.assertEqual(hierarquia_do_registro, hierarquia_das_transacoes)
        self.assertEqual(hierarquia_das_transacoes, hierarquia_dos_lancamentos)

        resultado_correto = {
            u"gastos": {
                u"fornecedores": {
                    u"mercado": {},
                    u"açougue": {},
                    u"vinho": {},
                },

                u"impostos": {},

                u"funcionarios": {},

            },

            u"bens": {
                u"caixa": {},
            },
        }

        self.assertEqual(hierarquia_dos_lancamentos.contas, resultado_correto)
Esempio n. 8
0
 def test_balanco_inicial_zero(self):
     self.assertEqual(self.registro.balanco(join("gastos", "funcionarios")),
                      Decimal("0"))