# © 2016 Antonio Espinosa - # 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)