Odoo18-Base/odoo/addons/test_new_api/tests/test_autovacuum.py

22 lines
799 B
Python
Raw Permalink Normal View History

2025-01-06 10:57:38 +07:00
# -*- coding: utf-8 -*-
from datetime import datetime, timedelta
from odoo.tests import common
class TestAutovacuum(common.TransactionCase):
def test_api_autovacuum(self):
Model = self.env['test_new_api.autovacuumed']
instance = Model.create({'expire_at': datetime.now() - timedelta(days=15)})
self.assertTrue(instance.exists())
# Enter test mode to run the autovacuum cron because `_run_vacuum_cleaner` makes a commit
self.registry.enter_test_mode(self.cr)
self.addCleanup(self.registry.leave_test_mode)
env = self.env(cr=self.registry.cursor())
# Run the autovacuum cron
env.ref('base.autovacuum_job').method_direct_trigger()
# Check the record has been vacuumed.
self.assertFalse(instance.exists())