Beispiel #1
0
 def test007_list_summary_and_passive(self):
     finac.core.config_set('base_asset', 'eur')
     finac.asset_set_rate('eur/usd', 1.11)
     self.assertEqual(finac.account_list_summary()['total'], 100)
     finac.account_create('supplier1', 'eur', tp='supplier')
     finac.account_create('taxes1', 'eur', tp='tax')
     finac.tr('supplier1', 10)
     finac.tr('taxes1', 10)
     self.assertEqual(finac.account_list_summary()['total'], 80)
     finac.ls(group_by='asset')
Beispiel #2
0
    def test903_archive_account(self):
        finac.account_create('testa1', 'USD')
        finac.account_create('testa2', 'USD')
        finac.account_create('testa3', 'USD')
        finac.account_create('testap1', 'USD', passive=True)
        finac.tr('testa1', 10000)
        finac.tr('testa2', 10000)
        finac.mv(dt='testa1', ct='testa2', amount=2500)
        finac.mv(dt='testa1', ct='testa2', amount=2500)
        finac.mv(dt='testa1', ct='testa3', amount=2500)
        finac.mv(dt='testa1', ct='testa3', amount=2500)
        finac.mv(dt='testa1', ct='testap1', amount=2500)
        finac.mv(dt='testa1', ct='testap1', amount=2500)

        d = time.time()

        finac.mv(dt='testa1', ct='testa2', amount=500)
        finac.mv(dt='testa1', ct='testa2', amount=500)
        finac.mv(dt='testa1', ct='testa3', amount=500)
        finac.mv(dt='testa1', ct='testa3', amount=500)
        finac.mv(dt='testa1', ct='testap1', amount=500)
        finac.mv(dt='testa1', ct='testap1', amount=500)

        def _test_balances():
            self.assertEqual(finac.account_balance('testa1'), 28000)
            self.assertEqual(finac.account_balance('testa2'), 4000)
            self.assertEqual(finac.account_balance('testa3'), -6000)
            self.assertEqual(finac.account_balance('testap1'), 6000)

        self.assertEqual(len(list(finac.account_statement('testa1'))), 13)
        self.assertEqual(len(list(finac.account_statement('testa2'))), 5)
        self.assertEqual(len(list(finac.account_statement('testa3'))), 4)
        self.assertEqual(len(list(finac.account_statement('testap1'))), 4)
        _test_balances()
        for acc in ['testa1', 'testa2', 'testa3', 'testap1']:
            finac.archive_transactions(acc, due_date=d)
            _test_balances()
        self.assertEqual(len(list(finac.account_statement('testa1'))), 6)
        self.assertEqual(len(list(finac.account_statement('testa2'))), 2)
        self.assertEqual(len(list(finac.account_statement('testa3'))), 2)
        self.assertEqual(len(list(finac.account_statement('testap1'))), 2)
        finac.cleanup()
        finac.account_delete('testa1')
        finac.account_delete('testa2')
        finac.account_delete('testa3')
        finac.account_delete('testap1')
Beispiel #3
0
 def test902_custom_account_types(self):
     if config.remote:
         return
     finac.account_create('hrb1', 'USD', 'hr_bond')
     finac.account_create('lrb1', 'USD', 'lr_bond')
     finac.account_create('emission1', 'USD', 'ebond')
     finac.tr('hrb1', 5000)
     finac.tr('lrb1', 6000)
     finac.tr('emission1', 1000)
     self.assertEqual(
         finac.account_balance(tp=['hr_bond', 'lr_bond', 'ebond']), 10000)
Beispiel #4
0
 def test702_passive_tr_credit(self):
     finac.tr('passive1', -80)
     self.assertEqual(finac.account_balance('passive1'), 20)
Beispiel #5
0
 def test701_passive_tr_debit(self):
     finac.tr('passive1', 100)
     self.assertEqual(finac.account_balance('passive1'), 100)
Beispiel #6
0
 def set_balance(self, account, balance):
     finac.tr(account, target=balance)
     self.assertEqual(finac.account_balance(account), balance)