Multiple Data Sources in Evaluations
This commit is contained in:
parent
115204bd2e
commit
8ddfba3179
13 changed files with 952 additions and 382 deletions
|
@ -3,14 +3,17 @@
|
|||
# The COPYRIGHT file at the top level of this repository contains the
|
||||
# full copyright notices and license terms.
|
||||
|
||||
from datetime import date
|
||||
from decimal import Decimal
|
||||
from trytond.tests.test_tryton import with_transaction, activate_module
|
||||
from trytond.pool import Pool
|
||||
from trytond.transaction import Transaction
|
||||
from trytond.exceptions import UserError
|
||||
from trytond.i18n import gettext
|
||||
from trytond.modules.cashbook_investment.tests.test_module import \
|
||||
CashbookInvestmentTestCase
|
||||
from datetime import date
|
||||
from decimal import Decimal
|
||||
from trytond.modules.cashbook_report.templates import (
|
||||
cashbook_types, category_types, booktype_types, currency_types)
|
||||
|
||||
|
||||
class ReportTestCase(CashbookInvestmentTestCase):
|
||||
|
@ -136,6 +139,21 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(books[2].balance, Decimal('23.0'))
|
||||
return books
|
||||
|
||||
@with_transaction()
|
||||
def test_report_check_dtype_messages_functions(self):
|
||||
""" check access to messages and functions for 'dtypes'
|
||||
"""
|
||||
Line = Pool().get('cashbook_report.eval_line')
|
||||
|
||||
dtypes = []
|
||||
dtypes.extend(currency_types)
|
||||
dtypes.extend(cashbook_types)
|
||||
dtypes.extend(category_types)
|
||||
dtypes.extend(booktype_types)
|
||||
for x in dtypes:
|
||||
gettext('cashbook_report.msg_dtype_%s' % x)
|
||||
getattr(Line, 'get_value_%s' % x)
|
||||
|
||||
@with_transaction()
|
||||
def test_report_currency_hasbookings(self):
|
||||
""" check detectpn of bookings @ currency
|
||||
|
@ -254,7 +272,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
|
||||
evaluation1, = Evaluation.create([{
|
||||
'name': 'Evaluation User 1 - Cashbooks',
|
||||
'dtype': 'cashbooks',
|
||||
'dtype1': 'cashbooks',
|
||||
'cashbooks': [('add', [x.id for x in books_owner1])],
|
||||
}])
|
||||
self.assertEqual(len(evaluation1.cashbooks), 2)
|
||||
|
@ -264,18 +282,16 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
evaluation1.line_values[0].name,
|
||||
'Book 1 | 25.00 usd | Open')
|
||||
self.assertEqual(
|
||||
evaluation1.line_values[0].balance,
|
||||
Decimal('23.81'))
|
||||
evaluation1.line_values[0].value1, Decimal('23.81'))
|
||||
self.assertEqual(
|
||||
evaluation1.line_values[1].name,
|
||||
'Book 2 | 12.50 usd | Open')
|
||||
self.assertEqual(
|
||||
evaluation1.line_values[1].balance,
|
||||
Decimal('11.9'))
|
||||
evaluation1.line_values[1].value1, Decimal('11.9'))
|
||||
|
||||
evaluation2, = Evaluation.create([{
|
||||
'name': 'Evaluation User 1 - Types',
|
||||
'dtype': 'types',
|
||||
'dtype1': 'types',
|
||||
'types': [('add', [x.id for x in Type.search([])])],
|
||||
}])
|
||||
self.assertEqual(len(evaluation2.types), 2)
|
||||
|
@ -283,16 +299,14 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluation2.line_values), 2)
|
||||
self.assertEqual(evaluation2.line_values[0].name, 'BK - Bank')
|
||||
self.assertEqual(
|
||||
evaluation2.line_values[0].balance,
|
||||
Decimal('0.0'))
|
||||
evaluation2.line_values[0].value1, Decimal('0.0'))
|
||||
self.assertEqual(evaluation2.line_values[1].name, 'CAS - Cash')
|
||||
self.assertEqual(
|
||||
evaluation2.line_values[1].balance,
|
||||
Decimal('35.71'))
|
||||
evaluation2.line_values[1].value1, Decimal('35.71'))
|
||||
|
||||
evaluation3, = Evaluation.create([{
|
||||
'name': 'Evaluation User 1 - Currencies',
|
||||
'dtype': 'currencies',
|
||||
'dtype1': 'currencies',
|
||||
'currencies': [('add', [
|
||||
x.id for x in Currency.search([])])],
|
||||
}])
|
||||
|
@ -301,16 +315,14 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluation3.line_values), 2)
|
||||
self.assertEqual(evaluation3.line_values[0].name, 'Euro')
|
||||
self.assertEqual(
|
||||
evaluation3.line_values[0].balance,
|
||||
Decimal('0.0'))
|
||||
evaluation3.line_values[0].value1, Decimal('0.0'))
|
||||
self.assertEqual(evaluation3.line_values[1].name, 'usd')
|
||||
self.assertEqual(
|
||||
evaluation3.line_values[1].balance,
|
||||
Decimal('35.71'))
|
||||
evaluation3.line_values[1].value1, Decimal('35.71'))
|
||||
|
||||
evaluation4, = Evaluation.create([{
|
||||
'name': 'Evaluation User 1 - Categories',
|
||||
'dtype': 'categories',
|
||||
'dtype1': 'categories',
|
||||
'categories': [('add', [
|
||||
x.id for x in books_owner1[0].categories])],
|
||||
}])
|
||||
|
@ -318,11 +330,9 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(evaluation4.currency.rec_name, 'Euro')
|
||||
self.assertEqual(len(evaluation4.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation4.line_values[0].name,
|
||||
'Book 1, User 1')
|
||||
evaluation4.line_values[0].name, 'Book 1, User 1')
|
||||
self.assertEqual(
|
||||
evaluation4.line_values[0].balance,
|
||||
Decimal('23.81'))
|
||||
evaluation4.line_values[0].value1, Decimal('23.81'))
|
||||
|
||||
self.assertEqual(Evaluation.search_count([]), 4)
|
||||
|
||||
|
@ -345,22 +355,20 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
|
||||
evaluation1, = Evaluation.create([{
|
||||
'name': 'Evaluation User 2 - Cashbooks',
|
||||
'dtype': 'cashbooks',
|
||||
'dtype1': 'cashbooks',
|
||||
'cashbooks': [('add', [x.id for x in books_owner2])],
|
||||
}])
|
||||
self.assertEqual(len(evaluation1.cashbooks), 1)
|
||||
self.assertEqual(evaluation1.currency.rec_name, 'Euro')
|
||||
self.assertEqual(len(evaluation1.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation1.line_values[0].name,
|
||||
'Book 3 | 23.00 € | Open')
|
||||
evaluation1.line_values[0].name, 'Book 3 | 23.00 € | Open')
|
||||
self.assertEqual(
|
||||
evaluation1.line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluation1.line_values[0].value1, Decimal('23.0'))
|
||||
|
||||
evaluation2, = Evaluation.create([{
|
||||
'name': 'Evaluation User 2 - Types',
|
||||
'dtype': 'types',
|
||||
'dtype1': 'types',
|
||||
'types': [('add', [x.id for x in Type.search([])])],
|
||||
}])
|
||||
self.assertEqual(len(evaluation2.types), 2)
|
||||
|
@ -368,16 +376,14 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluation2.line_values), 2)
|
||||
self.assertEqual(evaluation2.line_values[0].name, 'BK - Bank')
|
||||
self.assertEqual(
|
||||
evaluation2.line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluation2.line_values[0].value1, Decimal('23.0'))
|
||||
self.assertEqual(evaluation2.line_values[1].name, 'CAS - Cash')
|
||||
self.assertEqual(
|
||||
evaluation2.line_values[1].balance,
|
||||
Decimal('0.0'))
|
||||
evaluation2.line_values[1].value1, Decimal('0.0'))
|
||||
|
||||
evaluation3, = Evaluation.create([{
|
||||
'name': 'Evaluation User 2 - Currencies',
|
||||
'dtype': 'currencies',
|
||||
'dtype1': 'currencies',
|
||||
'currencies': [('add', [
|
||||
x.id for x in Currency.search([])])],
|
||||
}])
|
||||
|
@ -386,16 +392,14 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluation3.line_values), 2)
|
||||
self.assertEqual(evaluation3.line_values[0].name, 'Euro')
|
||||
self.assertEqual(
|
||||
evaluation3.line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluation3.line_values[0].value1, Decimal('23.0'))
|
||||
self.assertEqual(evaluation3.line_values[1].name, 'usd')
|
||||
self.assertEqual(
|
||||
evaluation3.line_values[1].balance,
|
||||
Decimal('0.0'))
|
||||
evaluation3.line_values[1].value1, Decimal('0.0'))
|
||||
|
||||
evaluation4, = Evaluation.create([{
|
||||
'name': 'Evaluation User 2 - Categories',
|
||||
'dtype': 'categories',
|
||||
'dtype1': 'categories',
|
||||
'categories': [('add', [
|
||||
x.id for x in books_owner2[0].categories])],
|
||||
}])
|
||||
|
@ -403,11 +407,9 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(evaluation4.currency.rec_name, 'Euro')
|
||||
self.assertEqual(len(evaluation4.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation4.line_values[0].name,
|
||||
'Book 3, User 2')
|
||||
evaluation4.line_values[0].name, 'Book 3, User 2')
|
||||
self.assertEqual(
|
||||
evaluation4.line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluation4.line_values[0].value1, Decimal('23.0'))
|
||||
|
||||
self.assertEqual(Evaluation.search_count([]), 4)
|
||||
|
||||
|
@ -421,17 +423,13 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(evaluations[0].currency.rec_name, 'Euro')
|
||||
self.assertEqual(len(evaluations[0].line_values), 2)
|
||||
self.assertEqual(
|
||||
evaluations[0].line_values[0].name,
|
||||
'Book 1 | 25.00 usd | Open')
|
||||
evaluations[0].line_values[0].name, 'Book 1 | 25.00 usd | Open')
|
||||
self.assertEqual(
|
||||
evaluations[0].line_values[0].balance,
|
||||
Decimal('23.81'))
|
||||
evaluations[0].line_values[0].value1, Decimal('23.81'))
|
||||
self.assertEqual(
|
||||
evaluations[0].line_values[1].name,
|
||||
'Book 2 | 12.50 usd | Open')
|
||||
evaluations[0].line_values[1].name, 'Book 2 | 12.50 usd | Open')
|
||||
self.assertEqual(
|
||||
evaluations[0].line_values[1].balance,
|
||||
Decimal('11.9'))
|
||||
evaluations[0].line_values[1].value1, Decimal('11.9'))
|
||||
|
||||
self.assertEqual(evaluations[1].name, 'Evaluation User 1 - Categories')
|
||||
self.assertEqual(len(evaluations[1].categories), 1)
|
||||
|
@ -439,8 +437,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluations[1].line_values), 1)
|
||||
self.assertEqual(evaluations[1].line_values[0].name, 'Book 1, User 1')
|
||||
self.assertEqual(
|
||||
evaluations[1].line_values[0].balance,
|
||||
Decimal('23.81'))
|
||||
evaluations[1].line_values[0].value1, Decimal('23.81'))
|
||||
|
||||
self.assertEqual(evaluations[2].name, 'Evaluation User 1 - Currencies')
|
||||
self.assertEqual(len(evaluations[2].currencies), 2)
|
||||
|
@ -448,12 +445,10 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluations[2].line_values), 2)
|
||||
self.assertEqual(evaluations[2].line_values[0].name, 'Euro')
|
||||
self.assertEqual(
|
||||
evaluations[2].line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluations[2].line_values[0].value1, Decimal('23.0'))
|
||||
self.assertEqual(evaluations[2].line_values[1].name, 'usd')
|
||||
self.assertEqual(
|
||||
evaluations[2].line_values[1].balance,
|
||||
Decimal('35.71'))
|
||||
evaluations[2].line_values[1].value1, Decimal('35.71'))
|
||||
|
||||
self.assertEqual(evaluations[3].name, 'Evaluation User 1 - Types')
|
||||
self.assertEqual(len(evaluations[3].types), 2)
|
||||
|
@ -461,23 +456,19 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluations[3].line_values), 2)
|
||||
self.assertEqual(evaluations[3].line_values[0].name, 'BK - Bank')
|
||||
self.assertEqual(
|
||||
evaluations[3].line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluations[3].line_values[0].value1, Decimal('23.0'))
|
||||
self.assertEqual(evaluations[3].line_values[1].name, 'CAS - Cash')
|
||||
self.assertEqual(
|
||||
evaluations[3].line_values[1].balance,
|
||||
Decimal('35.71'))
|
||||
evaluations[3].line_values[1].value1, Decimal('35.71'))
|
||||
|
||||
self.assertEqual(evaluations[4].name, 'Evaluation User 2 - Cashbooks')
|
||||
self.assertEqual(len(evaluations[4].cashbooks), 1)
|
||||
self.assertEqual(evaluations[4].currency.rec_name, 'Euro')
|
||||
self.assertEqual(len(evaluations[4].line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluations[4].line_values[0].name,
|
||||
'Book 3 | 23.00 € | Open')
|
||||
evaluations[4].line_values[0].name, 'Book 3 | 23.00 € | Open')
|
||||
self.assertEqual(
|
||||
evaluations[4].line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluations[4].line_values[0].value1, Decimal('23.0'))
|
||||
|
||||
self.assertEqual(evaluations[5].name, 'Evaluation User 2 - Categories')
|
||||
self.assertEqual(len(evaluations[5].categories), 1)
|
||||
|
@ -485,8 +476,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluations[5].line_values), 1)
|
||||
self.assertEqual(evaluations[5].line_values[0].name, 'Book 3, User 2')
|
||||
self.assertEqual(
|
||||
evaluations[5].line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluations[5].line_values[0].value1, Decimal('23.0'))
|
||||
|
||||
self.assertEqual(evaluations[6].name, 'Evaluation User 2 - Currencies')
|
||||
self.assertEqual(len(evaluations[6].currencies), 2)
|
||||
|
@ -494,12 +484,10 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluations[6].line_values), 2)
|
||||
self.assertEqual(evaluations[6].line_values[0].name, 'Euro')
|
||||
self.assertEqual(
|
||||
evaluations[6].line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluations[6].line_values[0].value1, Decimal('23.0'))
|
||||
self.assertEqual(evaluations[6].line_values[1].name, 'usd')
|
||||
self.assertEqual(
|
||||
evaluations[6].line_values[1].balance,
|
||||
Decimal('35.71'))
|
||||
evaluations[6].line_values[1].value1, Decimal('35.71'))
|
||||
|
||||
self.assertEqual(evaluations[7].name, 'Evaluation User 2 - Types')
|
||||
self.assertEqual(len(evaluations[7].types), 2)
|
||||
|
@ -507,12 +495,99 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluations[7].line_values), 2)
|
||||
self.assertEqual(evaluations[7].line_values[0].name, 'BK - Bank')
|
||||
self.assertEqual(
|
||||
evaluations[7].line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluations[7].line_values[0].value1, Decimal('23.0'))
|
||||
self.assertEqual(evaluations[7].line_values[1].name, 'CAS - Cash')
|
||||
self.assertEqual(
|
||||
evaluations[7].line_values[1].balance,
|
||||
Decimal('35.71'))
|
||||
evaluations[7].line_values[1].value1, Decimal('35.71'))
|
||||
|
||||
@with_transaction()
|
||||
def test_report_check_allowed_dtypes(self):
|
||||
""" check allowed dtypes for dtype2...5 in depency of value in dtype
|
||||
"""
|
||||
pool = Pool()
|
||||
Evaluation = pool.get('cashbook_report.evaluation')
|
||||
|
||||
self.prep_report_3books()
|
||||
|
||||
company = self.prep_company()
|
||||
with Transaction().set_context({
|
||||
'company': company.id}):
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype1': 'cashbooks',
|
||||
}])
|
||||
self.assertEqual(len(evaluation.cashbooks), 0)
|
||||
self.assertEqual([
|
||||
x[0] for x in evaluation.get_sel_etype2()], [
|
||||
'', 'cashbooks', 'cashbooks_gldiff', 'cashbooks_glperc',
|
||||
'cashbooks_glvalue', 'cashbooks_glyield'])
|
||||
self.assertRaisesRegex(
|
||||
UserError,
|
||||
'The value "types" for field "Data type 2" in ' +
|
||||
'"Evaluation 1" of "Evaluation" is not one of the ' +
|
||||
'allowed options.',
|
||||
Evaluation.write,
|
||||
*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype2': 'types',
|
||||
}
|
||||
])
|
||||
|
||||
self.assertRaisesRegex(
|
||||
UserError,
|
||||
"The pie display cannot be used by multiple data sources" +
|
||||
" in the evaluation 'Evaluation 1'.",
|
||||
Evaluation.write,
|
||||
*[[evaluation], {'dtype2': 'cashbooks_glyield'}])
|
||||
|
||||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'chart': 'line',
|
||||
'dtype2': 'cashbooks_glyield',
|
||||
'dtype3': 'cashbooks_glvalue',
|
||||
}])
|
||||
self.assertEqual(evaluation.dtype1, 'cashbooks')
|
||||
self.assertEqual(evaluation.dtype2, 'cashbooks_glyield')
|
||||
self.assertEqual(evaluation.dtype3, 'cashbooks_glvalue')
|
||||
|
||||
# run on-cchange
|
||||
evaluation.dtype1 = 'types'
|
||||
evaluation.on_change_dtype1()
|
||||
evaluation.save()
|
||||
self.assertEqual(evaluation.dtype1, 'types')
|
||||
self.assertEqual(evaluation.dtype2, None)
|
||||
self.assertEqual(evaluation.dtype3, None)
|
||||
|
||||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype1': 'categories_gldiff',
|
||||
}])
|
||||
self.assertEqual([
|
||||
x[0] for x in evaluation.get_sel_etype2()], [
|
||||
'', 'categories', 'categories_gldiff', 'categories_glvalue',
|
||||
'categories_glperc', 'categories_glyield'])
|
||||
|
||||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype1': 'currencies',
|
||||
}])
|
||||
self.assertEqual([
|
||||
x[0] for x in evaluation.get_sel_etype2()], [
|
||||
'', 'currencies'])
|
||||
|
||||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype1': 'types_glperc',
|
||||
}])
|
||||
self.assertEqual([
|
||||
x[0] for x in evaluation.get_sel_etype2()], [
|
||||
'', 'types', 'types_gldiff', 'types_glvalue',
|
||||
'types_glperc', 'types_glyield'])
|
||||
|
||||
@with_transaction()
|
||||
def test_report_update_name_of_line(self):
|
||||
|
@ -530,7 +605,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
'company': company.id}):
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'cashbooks',
|
||||
'dtype1': 'cashbooks',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
self.assertEqual(len(evaluation.cashbooks), 3)
|
||||
|
@ -592,7 +667,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
# valid
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'cashbooks',
|
||||
'dtype1': 'cashbooks',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
self.assertEqual(len(evaluation.cashbooks), 3)
|
||||
|
@ -607,7 +682,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype': 'cashbooks_gldiff',
|
||||
'dtype1': 'cashbooks_gldiff',
|
||||
}])
|
||||
self.assertEqual(len(evaluation.cashbooks), 3)
|
||||
self.assertEqual(len(evaluation.types), 0)
|
||||
|
@ -617,7 +692,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype': 'cashbooks_glperc',
|
||||
'dtype1': 'cashbooks_glperc',
|
||||
}])
|
||||
self.assertEqual(len(evaluation.cashbooks), 3)
|
||||
self.assertEqual(len(evaluation.types), 0)
|
||||
|
@ -629,7 +704,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype': 'types',
|
||||
'dtype1': 'types',
|
||||
'types': [('add', [x.id for x in Types.search([])])],
|
||||
}])
|
||||
self.assertEqual(len(evaluation.cashbooks), 0)
|
||||
|
@ -641,7 +716,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype': 'types',
|
||||
'dtype1': 'types',
|
||||
}])
|
||||
self.assertEqual(len(evaluation.cashbooks), 0)
|
||||
self.assertEqual(len(evaluation.types), 2)
|
||||
|
@ -651,7 +726,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype': 'currencies',
|
||||
'dtype1': 'currencies',
|
||||
'currencies': [('add', [
|
||||
x.id for x in Currency.search([])])],
|
||||
}])
|
||||
|
@ -663,7 +738,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype': 'categories',
|
||||
'dtype1': 'categories',
|
||||
'categories': [('add', [
|
||||
x.id for x in Category.search([])])],
|
||||
}])
|
||||
|
@ -675,7 +750,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.write(*[
|
||||
[evaluation],
|
||||
{
|
||||
'dtype': 'cashbooks',
|
||||
'dtype1': 'cashbooks',
|
||||
}])
|
||||
self.assertEqual(len(evaluation.cashbooks), 0)
|
||||
self.assertEqual(len(evaluation.types), 0)
|
||||
|
@ -698,7 +773,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
# valid
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'cashbooks',
|
||||
'dtype1': 'cashbooks',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
|
||||
|
@ -710,13 +785,13 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.create,
|
||||
[{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'types', # wrong dtype
|
||||
'dtype1': 'types', # wrong dtype
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 2',
|
||||
'dtype': 'types',
|
||||
'dtype1': 'types',
|
||||
'types': [('add', [x.id for x in Types.search([])])],
|
||||
}])
|
||||
|
||||
|
@ -728,7 +803,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Evaluation.create,
|
||||
[{
|
||||
'name': 'Evaluation 3',
|
||||
'dtype': 'cashbooks',
|
||||
'dtype1': 'cashbooks',
|
||||
'types': [('add', [x.id for x in Types.search([])])],
|
||||
}])
|
||||
|
||||
|
@ -739,11 +814,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
"""
|
||||
pool = Pool()
|
||||
Evaluation = pool.get('cashbook_report.evaluation')
|
||||
try:
|
||||
DashboardAction = pool.get('dashboard.action')
|
||||
except Exception:
|
||||
print('\n--== Module "dashboard" not installed ==--')
|
||||
DashboardAction = None
|
||||
DashboardAction = pool.get('dashboard.action')
|
||||
|
||||
books = self.prep_report_3books()
|
||||
|
||||
|
@ -756,15 +827,14 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
}])
|
||||
|
||||
# add dashboard-action
|
||||
if DashboardAction is not None:
|
||||
dbaction, = DashboardAction.create([{
|
||||
'user': Transaction().user,
|
||||
'act_window': evaluation.dashb_actwin.id,
|
||||
}])
|
||||
self.assertEqual(dbaction.user.rec_name, 'Administrator')
|
||||
self.assertEqual(dbaction.act_window.name, 'Evaluation 1')
|
||||
dbaction, = DashboardAction.create([{
|
||||
'user': Transaction().user,
|
||||
'act_window': evaluation.dashb_actwin.id,
|
||||
}])
|
||||
self.assertEqual(dbaction.user.rec_name, 'Administrator')
|
||||
self.assertEqual(dbaction.act_window.name, 'Evaluation 1')
|
||||
|
||||
self.assertEqual(evaluation.dtype, 'cashbooks')
|
||||
self.assertEqual(evaluation.dtype1, 'cashbooks')
|
||||
self.assertEqual(evaluation.chart, 'pie')
|
||||
self.assertEqual(evaluation.legend, True)
|
||||
self.assertEqual(evaluation.maincolor, 'default')
|
||||
|
@ -810,9 +880,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
'name': 'Evaluation 1a',
|
||||
}])
|
||||
self.assertTrue(old_win_id != evaluation.dashb_actwin.id)
|
||||
|
||||
if DashboardAction is not None:
|
||||
self.assertEqual(DashboardAction.search_count([]), 1)
|
||||
self.assertEqual(DashboardAction.search_count([]), 1)
|
||||
|
||||
@with_transaction()
|
||||
def test_report_cashbook_yield(self):
|
||||
|
@ -826,7 +894,6 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
BType = pool.get('cashbook.type')
|
||||
Asset = pool.get('investment.asset')
|
||||
CbCategory = pool.get('cashbook.bookcategory')
|
||||
MemCache = pool.get('cashbook.memcache')
|
||||
|
||||
company = self.prep_company()
|
||||
with Transaction().set_context({
|
||||
|
@ -906,7 +973,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
}])],
|
||||
}])
|
||||
Line.wfcheck(book_asset.lines)
|
||||
MemCache._cashbook_value_cache.clear_all()
|
||||
self.prep_valstore_run_worker()
|
||||
|
||||
self.assertEqual(
|
||||
book_asset.rec_name,
|
||||
|
@ -922,44 +989,41 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
# evaluation: cashbooks - total yield
|
||||
evaluation1, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'cashbooks_glyield',
|
||||
'dtype1': 'cashbooks_glyield',
|
||||
'chart': 'hbar',
|
||||
'cashbooks': [('add', [book_asset.id])],
|
||||
}])
|
||||
self.assertEqual(evaluation1.dtype, 'cashbooks_glyield')
|
||||
self.assertEqual(evaluation1.dtype1, 'cashbooks_glyield')
|
||||
self.assertEqual(evaluation1.currency.code, 'usd')
|
||||
self.assertEqual(len(evaluation1.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation1.line_values[0].balance,
|
||||
Decimal('5.5'))
|
||||
evaluation1.line_values[0].value1, Decimal('5.5'))
|
||||
|
||||
# evaluation: categories - total yield
|
||||
evaluation2, = Evaluation.create([{
|
||||
'name': 'Evaluation 2',
|
||||
'dtype': 'category_glyield',
|
||||
'dtype1': 'categories_glyield',
|
||||
'chart': 'hbar',
|
||||
'categories': [('add', [book_asset.categories[0].id])],
|
||||
}])
|
||||
self.assertEqual(evaluation2.dtype, 'category_glyield')
|
||||
self.assertEqual(evaluation2.dtype1, 'categories_glyield')
|
||||
self.assertEqual(evaluation2.currency.code, 'usd')
|
||||
self.assertEqual(len(evaluation2.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation2.line_values[0].balance,
|
||||
Decimal('5.5'))
|
||||
evaluation2.line_values[0].value1, Decimal('5.5'))
|
||||
|
||||
# evaluation: types - total yield
|
||||
evaluation3, = Evaluation.create([{
|
||||
'name': 'Evaluation 3',
|
||||
'dtype': 'types_glyield',
|
||||
'dtype1': 'types_glyield',
|
||||
'chart': 'hbar',
|
||||
'types': [('add', [book_asset.btype.id])],
|
||||
}])
|
||||
self.assertEqual(evaluation3.dtype, 'types_glyield')
|
||||
self.assertEqual(evaluation3.dtype1, 'types_glyield')
|
||||
self.assertEqual(evaluation3.currency.code, 'usd')
|
||||
self.assertEqual(len(evaluation3.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation3.line_values[0].balance,
|
||||
Decimal('5.5'))
|
||||
evaluation3.line_values[0].value1, Decimal('5.5'))
|
||||
|
||||
@with_transaction()
|
||||
def test_report_chart_hbar_book_investment(self):
|
||||
|
@ -979,7 +1043,6 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
Product = pool.get('product.template')
|
||||
Uom = pool.get('product.uom')
|
||||
CbCategory = pool.get('cashbook.bookcategory')
|
||||
MemCache = pool.get('cashbook.memcache')
|
||||
|
||||
at, = AccType.create([{
|
||||
'name': 'depot',
|
||||
|
@ -1044,7 +1107,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
[books[2].lines[1]],
|
||||
{'quantity': Decimal('2.0'), 'amount': Decimal('3400.0')},
|
||||
])
|
||||
MemCache._cashbook_value_cache.clear_all()
|
||||
self.prep_valstore_run_worker()
|
||||
|
||||
self.assertEqual(
|
||||
books[0].rec_name,
|
||||
|
@ -1070,11 +1133,19 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
# evaluation: amount-difference
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'cashbooks_gldiff',
|
||||
'dtype1': 'cashbooks_gldiff',
|
||||
'dtype2': 'cashbooks_glvalue',
|
||||
'dtype3': 'cashbooks_glyield',
|
||||
'dtype4': 'cashbooks_glperc',
|
||||
'dtype5': 'cashbooks',
|
||||
'chart': 'hbar',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
self.assertEqual(evaluation.dtype, 'cashbooks_gldiff')
|
||||
self.assertEqual(evaluation.dtype1, 'cashbooks_gldiff')
|
||||
self.assertEqual(evaluation.dtype2, 'cashbooks_glvalue')
|
||||
self.assertEqual(evaluation.dtype3, 'cashbooks_glyield')
|
||||
self.assertEqual(evaluation.dtype4, 'cashbooks_glperc')
|
||||
self.assertEqual(evaluation.dtype5, 'cashbooks')
|
||||
self.assertEqual(evaluation.chart, 'hbar')
|
||||
self.assertEqual(evaluation.legend, True)
|
||||
self.assertEqual(evaluation.maincolor, 'default')
|
||||
|
@ -1082,23 +1153,51 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(evaluation.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].balance,
|
||||
Decimal('857.14'))
|
||||
evaluation.line_values[0].value1, Decimal('857.14'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].balance,
|
||||
Decimal('476.19'))
|
||||
evaluation.line_values[0].value2, Decimal('6666.67'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].balance,
|
||||
Decimal('-33.33'))
|
||||
evaluation.line_values[0].value3, Decimal('6666.67'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].value4, Decimal('14.75'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].value5, Decimal('5809.52'))
|
||||
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].value1, Decimal('476.19'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].value2, Decimal('6666.67'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].value3, Decimal('6666.67'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].value4, Decimal('7.69'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].value5, Decimal('6190.48'))
|
||||
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].value1, Decimal('-33.33'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].value2, Decimal('6666.67'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].value3, Decimal('6666.67'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].value4, Decimal('-0.50'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].value5, Decimal('6700.00'))
|
||||
|
||||
# evaluation: percent-difference
|
||||
evaluation2, = Evaluation.create([{
|
||||
'name': 'Evaluation 2',
|
||||
'dtype': 'cashbooks_glperc',
|
||||
'dtype1': 'cashbooks_glperc',
|
||||
'chart': 'hbar',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
self.assertEqual(evaluation2.dtype, 'cashbooks_glperc')
|
||||
self.assertEqual(evaluation2.dtype1, 'cashbooks_glperc')
|
||||
self.assertEqual(evaluation2.dtype2, None)
|
||||
self.assertEqual(evaluation2.dtype3, None)
|
||||
self.assertEqual(evaluation2.dtype4, None)
|
||||
self.assertEqual(evaluation2.dtype5, None)
|
||||
|
||||
self.assertEqual(evaluation2.chart, 'hbar')
|
||||
self.assertEqual(evaluation2.legend, True)
|
||||
self.assertEqual(evaluation2.maincolor, 'default')
|
||||
|
@ -1106,23 +1205,20 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(evaluation2.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(
|
||||
evaluation2.line_values[0].balance,
|
||||
Decimal('14.75'))
|
||||
evaluation2.line_values[0].value1, Decimal('14.75'))
|
||||
self.assertEqual(
|
||||
evaluation2.line_values[1].balance,
|
||||
Decimal('7.69'))
|
||||
evaluation2.line_values[1].value1, Decimal('7.69'))
|
||||
self.assertEqual(
|
||||
evaluation2.line_values[2].balance,
|
||||
Decimal('-0.5'))
|
||||
evaluation2.line_values[2].value1, Decimal('-0.5'))
|
||||
|
||||
# evaluation: percent-difference
|
||||
evaluation3, = Evaluation.create([{
|
||||
'name': 'Evaluation 3',
|
||||
'dtype': 'cashbooks_glvalue',
|
||||
'dtype1': 'cashbooks_glvalue',
|
||||
'chart': 'hbar',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
self.assertEqual(evaluation3.dtype, 'cashbooks_glvalue')
|
||||
self.assertEqual(evaluation3.dtype1, 'cashbooks_glvalue')
|
||||
self.assertEqual(evaluation3.chart, 'hbar')
|
||||
self.assertEqual(evaluation3.legend, True)
|
||||
self.assertEqual(evaluation3.maincolor, 'default')
|
||||
|
@ -1130,23 +1226,20 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(evaluation3.currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(
|
||||
evaluation3.line_values[0].balance,
|
||||
Decimal('6666.67'))
|
||||
evaluation3.line_values[0].value1, Decimal('6666.67'))
|
||||
self.assertEqual(
|
||||
evaluation3.line_values[1].balance,
|
||||
Decimal('6666.67'))
|
||||
evaluation3.line_values[1].value1, Decimal('6666.67'))
|
||||
self.assertEqual(
|
||||
evaluation3.line_values[2].balance,
|
||||
Decimal('6666.67'))
|
||||
evaluation3.line_values[2].value1, Decimal('6666.67'))
|
||||
|
||||
# evaluation: category-current value
|
||||
evaluation4, = Evaluation.create([{
|
||||
'name': 'Evaluation 4',
|
||||
'dtype': 'category_glvalue',
|
||||
'dtype1': 'categories_glvalue',
|
||||
'chart': 'hbar',
|
||||
'categories': [('add', [cb_cat.id])],
|
||||
}])
|
||||
self.assertEqual(evaluation4.dtype, 'category_glvalue')
|
||||
self.assertEqual(evaluation4.dtype1, 'categories_glvalue')
|
||||
self.assertEqual(evaluation4.chart, 'hbar')
|
||||
self.assertEqual(evaluation4.legend, True)
|
||||
self.assertEqual(evaluation4.maincolor, 'default')
|
||||
|
@ -1155,17 +1248,16 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
|
||||
self.assertEqual(len(evaluation4.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation4.line_values[0].balance,
|
||||
Decimal('20000.01'))
|
||||
evaluation4.line_values[0].value1, Decimal('20000.01'))
|
||||
|
||||
# evaluation: category- difference amount
|
||||
evaluation5, = Evaluation.create([{
|
||||
'name': 'Evaluation 5',
|
||||
'dtype': 'category_gldiff',
|
||||
'dtype1': 'categories_gldiff',
|
||||
'chart': 'hbar',
|
||||
'categories': [('add', [cb_cat.id])],
|
||||
}])
|
||||
self.assertEqual(evaluation5.dtype, 'category_gldiff')
|
||||
self.assertEqual(evaluation5.dtype1, 'categories_gldiff')
|
||||
self.assertEqual(evaluation5.chart, 'hbar')
|
||||
self.assertEqual(evaluation5.legend, True)
|
||||
self.assertEqual(evaluation5.maincolor, 'default')
|
||||
|
@ -1174,17 +1266,16 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
|
||||
self.assertEqual(len(evaluation5.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation5.line_values[0].balance,
|
||||
Decimal('1300.01'))
|
||||
evaluation5.line_values[0].value1, Decimal('1300.01'))
|
||||
|
||||
# evaluation: category- difference amount
|
||||
evaluation6, = Evaluation.create([{
|
||||
'name': 'Evaluation 6',
|
||||
'dtype': 'category_glperc',
|
||||
'dtype1': 'categories_glperc',
|
||||
'chart': 'hbar',
|
||||
'categories': [('add', [cb_cat.id])],
|
||||
}])
|
||||
self.assertEqual(evaluation6.dtype, 'category_glperc')
|
||||
self.assertEqual(evaluation6.dtype1, 'categories_glperc')
|
||||
self.assertEqual(evaluation6.chart, 'hbar')
|
||||
self.assertEqual(evaluation6.legend, True)
|
||||
self.assertEqual(evaluation6.maincolor, 'default')
|
||||
|
@ -1193,8 +1284,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
|
||||
self.assertEqual(len(evaluation6.line_values), 1)
|
||||
self.assertEqual(
|
||||
evaluation6.line_values[0].balance,
|
||||
Decimal('6.95'))
|
||||
evaluation6.line_values[0].value1, Decimal('6.95'))
|
||||
|
||||
@with_transaction()
|
||||
def test_report_chart_pie_book_red(self):
|
||||
|
@ -1212,7 +1302,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
'name': 'Evaluation 1',
|
||||
'cashbooks': [('add', [x.id for x in books])],
|
||||
}])
|
||||
self.assertEqual(evaluation.dtype, 'cashbooks')
|
||||
self.assertEqual(evaluation.dtype1, 'cashbooks')
|
||||
self.assertEqual(evaluation.chart, 'pie')
|
||||
self.assertEqual(evaluation.legend, True)
|
||||
self.assertEqual(evaluation.maincolor, 'default')
|
||||
|
@ -1224,8 +1314,7 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
evaluation.ui_view_chart.model,
|
||||
'cashbook_report.eval_line')
|
||||
self.assertEqual(
|
||||
evaluation.ui_view_chart.module,
|
||||
'cashbook_report')
|
||||
evaluation.ui_view_chart.module, 'cashbook_report')
|
||||
self.assertEqual(evaluation.ui_view_chart.priority, 10)
|
||||
self.assertEqual(evaluation.ui_view_chart.type, 'graph')
|
||||
self.assertEqual(
|
||||
|
@ -1236,55 +1325,43 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
<field name="name"/>
|
||||
</x>
|
||||
<y>
|
||||
<field name="balance" fill="1" empty="0" string="Cashbooks [Amount]"/>
|
||||
<field name="value1" fill="1" empty="0" string="Cashbooks [Amount]"/>
|
||||
</y>
|
||||
</graph>
|
||||
""")
|
||||
|
||||
self.assertEqual(len(evaluation.cashbooks), 3)
|
||||
self.assertEqual(
|
||||
evaluation.cashbooks[0].rec_name,
|
||||
'Book 1 | 25.00 usd | Open')
|
||||
evaluation.cashbooks[0].rec_name, 'Book 1 | 25.00 usd | Open')
|
||||
self.assertEqual(
|
||||
evaluation.cashbooks[1].rec_name,
|
||||
'Book 2 | 12.50 usd | Open')
|
||||
evaluation.cashbooks[1].rec_name, 'Book 2 | 12.50 usd | Open')
|
||||
self.assertEqual(
|
||||
evaluation.cashbooks[2].rec_name,
|
||||
'Book 3 | 23.00 € | Open')
|
||||
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.line_values), 3)
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].name,
|
||||
'Book 1 | 25.00 usd | Open')
|
||||
evaluation.line_values[0].name, 'Book 1 | 25.00 usd | Open')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].name,
|
||||
'Book 2 | 12.50 usd | Open')
|
||||
evaluation.line_values[1].name, 'Book 2 | 12.50 usd | Open')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].name,
|
||||
'Book 3 | 23.00 € | Open')
|
||||
evaluation.line_values[2].name, 'Book 3 | 23.00 € | Open')
|
||||
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].eval_currency.code,
|
||||
'EUR')
|
||||
evaluation.line_values[0].eval_currency.code, 'EUR')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].eval_currency.code,
|
||||
'EUR')
|
||||
evaluation.line_values[1].eval_currency.code, 'EUR')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].eval_currency.code,
|
||||
'EUR')
|
||||
evaluation.line_values[2].eval_currency.code, 'EUR')
|
||||
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].balance,
|
||||
Decimal('23.81'))
|
||||
evaluation.line_values[0].value1, Decimal('23.81'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].balance,
|
||||
Decimal('11.90'))
|
||||
evaluation.line_values[1].value1, Decimal('11.90'))
|
||||
self.assertEqual(
|
||||
evaluation.line_values[2].balance,
|
||||
Decimal('23.00'))
|
||||
evaluation.line_values[2].value1, Decimal('23.00'))
|
||||
|
||||
@with_transaction()
|
||||
def test_report_chart_pie_type_red(self):
|
||||
|
@ -1303,10 +1380,10 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
'date': date(2022, 5, 15)}):
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'types',
|
||||
'dtype1': 'types',
|
||||
'types': [('add', [x.id for x in Types.search([])])],
|
||||
}])
|
||||
self.assertEqual(evaluation.dtype, 'types')
|
||||
self.assertEqual(evaluation.dtype1, 'types')
|
||||
self.assertEqual(evaluation.chart, 'pie')
|
||||
self.assertEqual(evaluation.legend, True)
|
||||
self.assertEqual(evaluation.maincolor, 'default')
|
||||
|
@ -1323,21 +1400,17 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
|
||||
# 23.00 EUR
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].eval_currency.code,
|
||||
'EUR')
|
||||
evaluation.line_values[0].eval_currency.code, 'EUR')
|
||||
self.assertEqual(evaluation.line_values[0].name, 'BK - Bank')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluation.line_values[0].value1, Decimal('23.0'))
|
||||
|
||||
# 37.50 USD --> EUR
|
||||
self.assertEqual(evaluation.line_values[1].name, 'CAS - Cash')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].eval_currency.code,
|
||||
'EUR')
|
||||
evaluation.line_values[1].eval_currency.code, 'EUR')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].balance,
|
||||
Decimal('35.71'))
|
||||
evaluation.line_values[1].value1, Decimal('35.71'))
|
||||
|
||||
@with_transaction()
|
||||
def test_report_chart_pie_currency_red(self):
|
||||
|
@ -1355,10 +1428,10 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
'company': company.id}):
|
||||
evaluation, = Evaluation.create([{
|
||||
'name': 'Evaluation 1',
|
||||
'dtype': 'currencies',
|
||||
'dtype1': 'currencies',
|
||||
'currencies': [('add', [x.id for x in Currency.search([])])],
|
||||
}])
|
||||
self.assertEqual(evaluation.dtype, 'currencies')
|
||||
self.assertEqual(evaluation.dtype1, 'currencies')
|
||||
self.assertEqual(evaluation.chart, 'pie')
|
||||
self.assertEqual(evaluation.legend, True)
|
||||
self.assertEqual(evaluation.maincolor, 'default')
|
||||
|
@ -1372,12 +1445,15 @@ class ReportTestCase(CashbookInvestmentTestCase):
|
|||
self.assertEqual(len(evaluation.line_values), 2)
|
||||
self.assertEqual(evaluation.line_values[0].name, 'Euro')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[0].balance,
|
||||
Decimal('23.0'))
|
||||
evaluation.line_values[0].value1, Decimal('23.0'))
|
||||
self.assertEqual(evaluation.line_values[1].name, 'usd')
|
||||
self.assertEqual(
|
||||
evaluation.line_values[1].balance,
|
||||
Decimal('35.71'))
|
||||
evaluation.line_values[1].value1, Decimal('35.71'))
|
||||
|
||||
self.assertEqual(evaluation.line_values[0].value2, None)
|
||||
self.assertEqual(evaluation.line_values[0].value3, None)
|
||||
self.assertEqual(evaluation.line_values[0].value4, None)
|
||||
self.assertEqual(evaluation.line_values[0].value5, None)
|
||||
|
||||
# end ReportTestCase
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue