[12.0][IMP] kpi_dashboard: Allow to use formula

This commit is contained in:
Enric Tobella
2020-04-28 15:04:03 +02:00
parent 5b3aeed911
commit 3ca213d3e0
5 changed files with 55 additions and 2 deletions

View File

@@ -0,0 +1 @@
from . import test_formula

View File

@@ -0,0 +1,31 @@
# Copyright 2020 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests.common import TransactionCase
class TestFormula(TransactionCase):
def test_computation(self):
kpi = self.env["kpi.kpi"].create(
{
"name": "DEMO KPI",
"widget": "number",
"computation_method": "code",
}
)
self.assertFalse(kpi.value)
kpi.compute()
self.assertEqual(kpi.value, {})
kpi.code = """
result = {}
result['value'] = len(model.search([('id', '=', %s)]))
result['previous'] = len(model.search([('id', '!=', %s)]))
""" % (
kpi.id,
kpi.id,
)
kpi.compute()
value = kpi.value
self.assertTrue(value.get("value"))
self.assertEqual(value.get("value"), 1)
self.assertEqual(value.get("previous"), kpi.search_count([]) - 1)