evaluation: werte für cashbook, types + test

This commit is contained in:
Frederik Jaeckel 2022-10-31 13:57:39 +01:00
parent 3278fc7e52
commit 1f7149f472
6 changed files with 358 additions and 21 deletions

View file

@ -265,6 +265,22 @@ class ReportTestCase(CashbookTestCase):
'cashbooks': [('add', [x.id for x in books])],
}])
evaluation, = Evaluation.create([{
'name': 'Evaluation 2',
'dtype': 'types',
'types': [('add', [x.id for x in Types.search([])])],
}])
# must fail
self.assertRaisesRegex(UserError,
"Type of evaluation must be 'Types of Cashbooks'.",
Evaluation.create,
[{
'name': 'Evaluation 3',
'dtype': 'cashbooks',
'types': [('add', [x.id for x in Types.search([])])],
}])
@with_transaction()
def test_report_chart_pie_book_red(self):
""" create 3x cashbooks, add bookings,
@ -288,11 +304,28 @@ class ReportTestCase(CashbookTestCase):
self.assertEqual(evaluation.posted, False)
self.assertEqual(evaluation.maincolor, 'default')
self.assertEqual(evaluation.bgcolor, '#ffffc0')
self.assertEqual(evaluation.currency.code, 'EUR')
self.assertEqual(len(evaluation.cashbooks), 3)
self.assertEqual(evaluation.cashbooks[0].rec_name, 'Book 1 | 25.00 usd | Open')
self.assertEqual(evaluation.cashbooks[1].rec_name, 'Book 2 | 12.50 usd | Open')
self.assertEqual(evaluation.cashbooks[2].rec_name, 'Book 3 | 23.00 € | Open')
self.assertEqual(evaluation.cashbooks[0].currency.code, 'usd')
self.assertEqual(evaluation.cashbooks[1].currency.code, 'usd')
self.assertEqual(evaluation.cashbooks[2].currency.code, 'EUR')
self.assertEqual(len(evaluation.cashbook_values), 3)
self.assertEqual(evaluation.cashbook_values[0].name, 'Book 1 | 25.00 usd | Open')
self.assertEqual(evaluation.cashbook_values[1].name, 'Book 2 | 12.50 usd | Open')
self.assertEqual(evaluation.cashbook_values[2].name, 'Book 3 | 23.00 € | Open')
self.assertEqual(evaluation.cashbook_values[0].eval_currency.code, 'EUR')
self.assertEqual(evaluation.cashbook_values[1].eval_currency.code, 'EUR')
self.assertEqual(evaluation.cashbook_values[2].eval_currency.code, 'EUR')
self.assertEqual(evaluation.cashbook_values[0].balance, Decimal('23.81'))
self.assertEqual(evaluation.cashbook_values[1].balance, Decimal('11.90'))
self.assertEqual(evaluation.cashbook_values[2].balance, Decimal('23.00'))
@with_transaction()
def test_report_chart_pie_type_red(self):
@ -307,7 +340,8 @@ class ReportTestCase(CashbookTestCase):
company = self.prep_company()
with Transaction().set_context({
'company': company.id,
'company': company.id, # company-currency: EUR
'date': date(2022, 5, 15),
}):
evaluation, = Evaluation.create([{
'name': 'Evaluation 1',
@ -320,8 +354,23 @@ class ReportTestCase(CashbookTestCase):
self.assertEqual(evaluation.posted, False)
self.assertEqual(evaluation.maincolor, 'default')
self.assertEqual(evaluation.bgcolor, '#ffffc0')
self.assertEqual(evaluation.currency.code, 'EUR')
# 37.50 USD, Cash
# 23.00 EUR, Bank
self.assertEqual(len(evaluation.types), 2)
self.assertEqual(evaluation.types[0].rec_name, 'BK - Bank')
self.assertEqual(evaluation.types[1].rec_name, 'CAS - Cash')
# 23.00 EUR
self.assertEqual(len(evaluation.type_values), 2)
self.assertEqual(evaluation.type_values[0].eval_currency.code, 'EUR')
self.assertEqual(evaluation.type_values[0].name, 'BK - Bank')
self.assertEqual(evaluation.type_values[0].balance, Decimal('23.0'))
# 37.50 USD --> EUR
self.assertEqual(evaluation.type_values[1].name, 'CAS - Cash')
self.assertEqual(evaluation.type_values[1].eval_currency.code, 'EUR')
self.assertEqual(evaluation.type_values[1].balance, Decimal('35.71'))
@with_transaction()
def test_report_chart_pie_currency_red(self):