summaryrefslogtreecommitdiff
path: root/odoo/addons/test_performance/tests/test_performance.py
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/addons/test_performance/tests/test_performance.py')
-rw-r--r--odoo/addons/test_performance/tests/test_performance.py40
1 files changed, 37 insertions, 3 deletions
diff --git a/odoo/addons/test_performance/tests/test_performance.py b/odoo/addons/test_performance/tests/test_performance.py
index 1db2e33f6d2..eaae5f41f10 100644
--- a/odoo/addons/test_performance/tests/test_performance.py
+++ b/odoo/addons/test_performance/tests/test_performance.py
@@ -4,11 +4,44 @@
from collections import defaultdict
import json
+from odoo.addons.base.tests.common import SavepointCaseWithUserDemo
from odoo.tests.common import TransactionCase, users, warmup, tagged
from odoo.tools import mute_logger
-class TestPerformance(TransactionCase):
+class TestPerformance(SavepointCaseWithUserDemo):
+
+ @classmethod
+ def setUpClass(cls):
+ super(TestPerformance, cls).setUpClass()
+ cls._load_partners_set()
+
+ partner3 = cls.env['res.partner'].search([('name', '=', 'AnalytIQ')], limit=1)
+ partner4 = cls.env['res.partner'].search([('name', '=', 'Urban Trends')], limit=1)
+ partner10 = cls.env['res.partner'].search([('name', '=', 'Ctrl-Alt-Fix')], limit=1)
+ partner12 = cls.env['res.partner'].search([('name', '=', 'Ignitive Labs')], limit=1)
+
+ cls.env['test_performance.base'].create([{
+ 'name': 'Object 0',
+ 'value': 0,
+ 'partner_id': partner3.id,
+ }, {
+ 'name': 'Object 1',
+ 'value': 10,
+ 'partner_id': partner3.id,
+ }, {
+ 'name': 'Object 2',
+ 'value': 20,
+ 'partner_id': partner4.id,
+ }, {
+ 'name': 'Object 3',
+ 'value': 30,
+ 'partner_id': partner10.id,
+ }, {
+ 'name': 'Object 4',
+ 'value': 40,
+ 'partner_id': partner12.id,
+ }])
@users('__system__', 'demo')
@warmup
@@ -377,9 +410,10 @@ class TestPerformance(TransactionCase):
def expected_read_group(self):
groups = defaultdict(list)
- for record in self.env['test_performance.base'].search([]):
+ all_records = self.env['test_performance.base'].search([])
+ for record in all_records:
groups[record.partner_id.id].append(record.value)
- partners = self.env['res.partner'].search([('id', 'in', list(groups))])
+ partners = self.env['res.partner'].search([('id', 'in', all_records.mapped('partner_id').ids)])
return [{
'__domain': [('partner_id', '=', partner.id)],
'partner_id': (partner.id, partner.display_name),