mirror of https://github.com/OCA/web.git
64 lines
2.3 KiB
Python
64 lines
2.3 KiB
Python
# © 2016 Antonio Espinosa - <antonio.espinosa@tecnativa.com>
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
|
|
from odoo.tests.common import TransactionCase
|
|
|
|
|
|
class TestTile(TransactionCase):
|
|
def test_tile(self):
|
|
TileTile = self.env["tile.tile"]
|
|
model_id = self.env["ir.model"].search([("model", "=", "tile.tile")])
|
|
category_id = self.env.ref("web_dashboard_tile.category_module").id
|
|
field_id = self.env["ir.model.fields"].search(
|
|
[("model_id", "=", model_id.id), ("name", "=", "sequence")]
|
|
)
|
|
self.tile1 = TileTile.create(
|
|
{
|
|
"name": "Count / Sum",
|
|
"sequence": 1,
|
|
"category_id": category_id,
|
|
"model_id": model_id.id,
|
|
"domain": "[('model_id', '=', %d)]" % model_id.id,
|
|
"secondary_function": "sum",
|
|
"secondary_field_id": field_id.id,
|
|
}
|
|
)
|
|
self.tile2 = TileTile.create(
|
|
{
|
|
"name": "Min / Max",
|
|
"sequence": 2,
|
|
"category_id": category_id,
|
|
"model_id": model_id.id,
|
|
"domain": "[('model_id', '=', %d)]" % model_id.id,
|
|
"primary_function": "min",
|
|
"primary_field_id": field_id.id,
|
|
"secondary_function": "max",
|
|
"secondary_field_id": field_id.id,
|
|
}
|
|
)
|
|
self.tile3 = TileTile.create(
|
|
{
|
|
"name": "Avg / Median",
|
|
"sequence": 3,
|
|
"category_id": category_id,
|
|
"model_id": model_id.id,
|
|
"domain": "[('model_id', '=', %d)]" % model_id.id,
|
|
"primary_function": "avg",
|
|
"primary_field_id": field_id.id,
|
|
"secondary_function": "median",
|
|
"secondary_field_id": field_id.id,
|
|
}
|
|
)
|
|
# count
|
|
self.assertEqual(self.tile1.primary_value, 3.0)
|
|
# sum
|
|
self.assertEqual(self.tile1.secondary_value, 6.0)
|
|
# min
|
|
self.assertEqual(self.tile2.primary_value, 1.0)
|
|
# max
|
|
self.assertEqual(self.tile2.secondary_value, 3.0)
|
|
# average
|
|
self.assertEqual(self.tile3.primary_value, 2.0)
|
|
# median
|
|
self.assertEqual(self.tile3.secondary_value, 2.0)
|