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')
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')
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)
def test702_passive_tr_credit(self): finac.tr('passive1', -80) self.assertEqual(finac.account_balance('passive1'), 20)
def test701_passive_tr_debit(self): finac.tr('passive1', 100) self.assertEqual(finac.account_balance('passive1'), 100)
def set_balance(self, account, balance): finac.tr(account, target=balance) self.assertEqual(finac.account_balance(account), balance)