[FIX] test_performance: adapt query count of one2many operations
Since https://github.com/odoo/odoo/pull/99415, query count for one2many operation was too high, fix it. closes odoo/odoo#103807 X-original-commit: 09acbbe9ca7cc524288589cb2f9dfcd30b244461 Signed-off-by: Vincent Schippefilt (vsc) <vsc@odoo.com> Signed-off-by: Rémy Voet <ryv@odoo.com>
This commit is contained in:
@@ -135,7 +135,7 @@ class TestPerformance(SavepointCaseWithUserDemo):
|
||||
rec1.write({'line_ids': [Command.create({'value': 0})]})
|
||||
self.assertEqual(len(rec1.line_ids), 1)
|
||||
|
||||
with self.assertQueryCount(5):
|
||||
with self.assertQueryCount(4):
|
||||
self.env.invalidate_all()
|
||||
rec1.write({'line_ids': [Command.create({'value': val}) for val in range(1, 12)]})
|
||||
self.assertEqual(len(rec1.line_ids), 12)
|
||||
@@ -143,23 +143,23 @@ class TestPerformance(SavepointCaseWithUserDemo):
|
||||
lines = rec1.line_ids
|
||||
|
||||
# update N lines: O(N) queries
|
||||
with self.assertQueryCount(6):
|
||||
with self.assertQueryCount(5):
|
||||
self.env.invalidate_all()
|
||||
rec1.write({'line_ids': [Command.update(line.id, {'value': 42}) for line in lines[0]]})
|
||||
self.assertEqual(rec1.line_ids, lines)
|
||||
|
||||
with self.assertQueryCount(26):
|
||||
with self.assertQueryCount(25):
|
||||
self.env.invalidate_all()
|
||||
rec1.write({'line_ids': [Command.update(line.id, {'value': 42 + line.id}) for line in lines[1:]]})
|
||||
self.assertEqual(rec1.line_ids, lines)
|
||||
|
||||
# delete N lines: O(1) queries
|
||||
with self.assertQueryCount(14):
|
||||
with self.assertQueryCount(12):
|
||||
self.env.invalidate_all()
|
||||
rec1.write({'line_ids': [Command.delete(line.id) for line in lines[0]]})
|
||||
self.assertEqual(rec1.line_ids, lines[1:])
|
||||
|
||||
with self.assertQueryCount(12):
|
||||
with self.assertQueryCount(11):
|
||||
self.env.invalidate_all()
|
||||
rec1.write({'line_ids': [Command.delete(line.id) for line in lines[1:]]})
|
||||
self.assertFalse(rec1.line_ids)
|
||||
@@ -169,12 +169,12 @@ class TestPerformance(SavepointCaseWithUserDemo):
|
||||
lines = rec1.line_ids
|
||||
|
||||
# unlink N lines: O(1) queries
|
||||
with self.assertQueryCount(14):
|
||||
with self.assertQueryCount(12):
|
||||
self.env.invalidate_all()
|
||||
rec1.write({'line_ids': [Command.unlink(line.id) for line in lines[0]]})
|
||||
self.assertEqual(rec1.line_ids, lines[1:])
|
||||
|
||||
with self.assertQueryCount(12):
|
||||
with self.assertQueryCount(11):
|
||||
self.env.invalidate_all()
|
||||
rec1.write({'line_ids': [Command.unlink(line.id) for line in lines[1:]]})
|
||||
self.assertFalse(rec1.line_ids)
|
||||
@@ -185,30 +185,30 @@ class TestPerformance(SavepointCaseWithUserDemo):
|
||||
rec2 = self.env['test_performance.base'].create({'name': 'X'})
|
||||
|
||||
# link N lines from rec1 to rec2: O(1) queries
|
||||
with self.assertQueryCount(8):
|
||||
with self.assertQueryCount(7):
|
||||
self.env.invalidate_all()
|
||||
rec2.write({'line_ids': [Command.link(line.id) for line in lines[0]]})
|
||||
self.assertEqual(rec1.line_ids, lines[1:])
|
||||
self.assertEqual(rec2.line_ids, lines[0])
|
||||
|
||||
with self.assertQueryCount(8):
|
||||
with self.assertQueryCount(7):
|
||||
self.env.invalidate_all()
|
||||
rec2.write({'line_ids': [Command.link(line.id) for line in lines[1:]]})
|
||||
self.assertFalse(rec1.line_ids)
|
||||
self.assertEqual(rec2.line_ids, lines)
|
||||
|
||||
with self.assertQueryCount(4):
|
||||
with self.assertQueryCount(3):
|
||||
self.env.invalidate_all()
|
||||
rec2.write({'line_ids': [Command.link(line.id) for line in lines[0]]})
|
||||
self.assertEqual(rec2.line_ids, lines)
|
||||
|
||||
with self.assertQueryCount(4):
|
||||
with self.assertQueryCount(3):
|
||||
self.env.invalidate_all()
|
||||
rec2.write({'line_ids': [Command.link(line.id) for line in lines[1:]]})
|
||||
self.assertEqual(rec2.line_ids, lines)
|
||||
|
||||
# empty N lines in rec2: O(1) queries
|
||||
with self.assertQueryCount(13):
|
||||
with self.assertQueryCount(12):
|
||||
self.env.invalidate_all()
|
||||
rec2.write({'line_ids': [Command.clear()]})
|
||||
self.assertFalse(rec2.line_ids)
|
||||
|
||||
Reference in New Issue
Block a user