evaluation: extend categories-diff/percent/value + tests
This commit is contained in:
parent
82bdf3e05b
commit
a80fac0e0b
9 changed files with 236 additions and 22 deletions
|
@ -730,6 +730,7 @@ class ReportTestCase(CashbookTestCase):
|
|||
Asset = pool.get('investment.asset')
|
||||
Product = pool.get('product.template')
|
||||
Uom = pool.get('product.uom')
|
||||
CbCategory = pool.get('cashbook.bookcategory')
|
||||
|
||||
at, = AccType.create([{
|
||||
'name': 'depot',
|
||||
|
@ -759,23 +760,50 @@ class ReportTestCase(CashbookTestCase):
|
|||
'rate': Decimal('1750.0'),
|
||||
}, ])],
|
||||
}])
|
||||
|
||||
AccType.write(*[
|
||||
[books[0].btype],
|
||||
{
|
||||
'feature': 'asset',
|
||||
}])
|
||||
self.assertEqual(asset.rec_name,
|
||||
'Aurum | 1,750.0000 usd/u | 05/01/2022')
|
||||
|
||||
books = self.prep_report_3books()
|
||||
cb_cat, = CbCategory.create([{'name': 'CB Category'}])
|
||||
Book.write(*[
|
||||
books,
|
||||
{
|
||||
'btype': at.id,
|
||||
'asset': asset.id,
|
||||
'categories': [('add', [cb_cat.id])],
|
||||
'quantity_uom': asset.uom.id,
|
||||
'quantity_digits': 3,
|
||||
'lines': [('write',
|
||||
[books[0].lines[0].id], # usd
|
||||
{'quantity': Decimal('2.0'), 'amount': Decimal('3000.0')},
|
||||
[books[0].lines[1].id],
|
||||
{'quantity': Decimal('2.0'), 'amount': Decimal('3100.0')},
|
||||
[books[1].lines[0].id], # usd
|
||||
{'quantity': Decimal('2.0'), 'amount': Decimal('3200.0')},
|
||||
[books[1].lines[1].id],
|
||||
{'quantity': Decimal('2.0'), 'amount': Decimal('3300.0')},
|
||||
[books[2].lines[0].id], # euro
|
||||
{'quantity': Decimal('2.0'), 'amount': Decimal('3300.0')},
|
||||
[books[2].lines[1].id],
|
||||
{'quantity': Decimal('2.0'), 'amount': Decimal('3400.0')},
|
||||
)],
|
||||
}])
|
||||
self.assertEqual(books[0].rec_name, 'ss')
|
||||
self.assertEqual(books[0].rec_name, 'Book 1 | 6,100.00 usd | Open | 4.000 u')
|
||||
self.assertEqual(books[0].current_value, Decimal('7000.0'))
|
||||
self.assertEqual(books[0].diff_amount, Decimal('900.0'))
|
||||
self.assertEqual(books[0].diff_percent, Decimal('14.75'))
|
||||
|
||||
self.assertEqual(books[1].rec_name, 'Book 2 | 6,500.00 usd | Open | 4.000 u')
|
||||
self.assertEqual(books[1].current_value, Decimal('7000.0'))
|
||||
self.assertEqual(books[1].diff_amount, Decimal('500.0'))
|
||||
self.assertEqual(books[1].diff_percent, Decimal('7.69'))
|
||||
|
||||
self.assertEqual(books[2].rec_name, 'Book 3 | 6,700.00 € | Open | 4.000 u')
|
||||
self.assertEqual(books[2].current_value, Decimal('6666.67'))
|
||||
self.assertEqual(books[2].diff_amount, Decimal('-33.33'))
|
||||
self.assertEqual(books[2].diff_percent, Decimal('-0.5'))
|
||||
|
||||
# evaluation: amount-difference
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'cashbooks_gldiff',
|
||||
|
@ -789,9 +817,96 @@ class ReportTestCase(CashbookTestCase):
|
|||
self.assertEqual(evaluation.bgcolor, '#ffffc0')
|
||||
self.assertEqual(evaluation.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(evaluation.line_values[0].balance, Decimal('23.81'))
|
||||
self.assertEqual(evaluation.line_values[1].balance, Decimal('11.90'))
|
||||
self.assertEqual(evaluation.line_values[2].balance, Decimal('23.00'))
|
||||
self.assertEqual(evaluation.line_values[0].balance, Decimal('857.14'))
|
||||
self.assertEqual(evaluation.line_values[1].balance, Decimal('476.19'))
|
||||
self.assertEqual(evaluation.line_values[2].balance, Decimal('-33.33'))
|
||||
|
||||
# evaluation: percent-difference
|
||||
evaluation2, = Evaluation.create([{
|
||||
'name': 'Evaluation 2',
|
||||
'dtype': 'cashbooks_glperc',
|
||||
'chart': 'hbar',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
self.assertEqual(evaluation2.dtype, 'cashbooks_glperc')
|
||||
self.assertEqual(evaluation2.chart, 'hbar')
|
||||
self.assertEqual(evaluation2.legend, True)
|
||||
self.assertEqual(evaluation2.maincolor, 'default')
|
||||
self.assertEqual(evaluation2.bgcolor, '#ffffc0')
|
||||
self.assertEqual(evaluation2.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(evaluation2.line_values[0].balance, Decimal('14.75'))
|
||||
self.assertEqual(evaluation2.line_values[1].balance, Decimal('7.69'))
|
||||
self.assertEqual(evaluation2.line_values[2].balance, Decimal('-0.5'))
|
||||
|
||||
# evaluation: percent-difference
|
||||
evaluation3, = Evaluation.create([{
|
||||
'name': 'Evaluation 3',
|
||||
'dtype': 'cashbooks_glvalue',
|
||||
'chart': 'hbar',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
self.assertEqual(evaluation3.dtype, 'cashbooks_glvalue')
|
||||
self.assertEqual(evaluation3.chart, 'hbar')
|
||||
self.assertEqual(evaluation3.legend, True)
|
||||
self.assertEqual(evaluation3.maincolor, 'default')
|
||||
self.assertEqual(evaluation3.bgcolor, '#ffffc0')
|
||||
self.assertEqual(evaluation3.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(evaluation3.line_values[0].balance, Decimal('6666.67'))
|
||||
self.assertEqual(evaluation3.line_values[1].balance, Decimal('6666.67'))
|
||||
self.assertEqual(evaluation3.line_values[2].balance, Decimal('6666.67'))
|
||||
|
||||
# evaluation: category-current value
|
||||
evaluation4, = Evaluation.create([{
|
||||
'name': 'Evaluation 4',
|
||||
'dtype': 'category_glvalue',
|
||||
'chart': 'hbar',
|
||||
'categories': [('add', [cb_cat.id])],
|
||||
}])
|
||||
self.assertEqual(evaluation4.dtype, 'category_glvalue')
|
||||
self.assertEqual(evaluation4.chart, 'hbar')
|
||||
self.assertEqual(evaluation4.legend, True)
|
||||
self.assertEqual(evaluation4.maincolor, 'default')
|
||||
self.assertEqual(evaluation4.bgcolor, '#ffffc0')
|
||||
self.assertEqual(evaluation4.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(len(evaluation4.line_values), 1)
|
||||
self.assertEqual(evaluation4.line_values[0].balance, Decimal('20000.01'))
|
||||
|
||||
# evaluation: category- difference amount
|
||||
evaluation5, = Evaluation.create([{
|
||||
'name': 'Evaluation 5',
|
||||
'dtype': 'category_gldiff',
|
||||
'chart': 'hbar',
|
||||
'categories': [('add', [cb_cat.id])],
|
||||
}])
|
||||
self.assertEqual(evaluation5.dtype, 'category_gldiff')
|
||||
self.assertEqual(evaluation5.chart, 'hbar')
|
||||
self.assertEqual(evaluation5.legend, True)
|
||||
self.assertEqual(evaluation5.maincolor, 'default')
|
||||
self.assertEqual(evaluation5.bgcolor, '#ffffc0')
|
||||
self.assertEqual(evaluation5.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(len(evaluation5.line_values), 1)
|
||||
self.assertEqual(evaluation5.line_values[0].balance, Decimal('1300.01'))
|
||||
|
||||
# evaluation: category- difference amount
|
||||
evaluation6, = Evaluation.create([{
|
||||
'name': 'Evaluation 6',
|
||||
'dtype': 'category_glperc',
|
||||
'chart': 'hbar',
|
||||
'categories': [('add', [cb_cat.id])],
|
||||
}])
|
||||
self.assertEqual(evaluation6.dtype, 'category_glperc')
|
||||
self.assertEqual(evaluation6.chart, 'hbar')
|
||||
self.assertEqual(evaluation6.legend, True)
|
||||
self.assertEqual(evaluation6.maincolor, 'default')
|
||||
self.assertEqual(evaluation6.bgcolor, '#ffffc0')
|
||||
self.assertEqual(evaluation6.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(len(evaluation6.line_values), 1)
|
||||
self.assertEqual(evaluation6.line_values[0].balance, Decimal('6.95'))
|
||||
|
||||
@with_transaction()
|
||||
def test_report_chart_pie_book_red(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue