You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
935 B
31 lines
935 B
# 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)
|