Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
1
base_cron_exclusion/tests/__init__.py
Executable file
1
base_cron_exclusion/tests/__init__.py
Executable file
@@ -0,0 +1 @@
|
||||
from . import test_ir_cron
|
||||
51
base_cron_exclusion/tests/test_ir_cron.py
Executable file
51
base_cron_exclusion/tests/test_ir_cron.py
Executable file
@@ -0,0 +1,51 @@
|
||||
# Copyright 2024 Camptocamp
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
from datetime import timedelta
|
||||
|
||||
from odoo import fields
|
||||
from odoo.exceptions import ValidationError
|
||||
from odoo.tests import TransactionCase
|
||||
|
||||
|
||||
class TestIrCron(TransactionCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.cron_model = cls.env.ref("base.model_res_partner")
|
||||
cls.base_cron_vals = {
|
||||
"state": "code",
|
||||
"code": "model._test_cron_method()",
|
||||
"model_id": cls.cron_model.id,
|
||||
"model_name": "res.partner",
|
||||
"user_id": cls.env.uid,
|
||||
"active": True,
|
||||
"interval_number": 1,
|
||||
"interval_type": "days",
|
||||
"nextcall": fields.Datetime.now() + timedelta(hours=1),
|
||||
"lastcall": False,
|
||||
"priority": 5,
|
||||
}
|
||||
cls.cron1 = cls.env["ir.cron"].create(
|
||||
{
|
||||
**cls.base_cron_vals,
|
||||
"name": "Test Cron 1",
|
||||
}
|
||||
)
|
||||
cls.cron2 = cls.env["ir.cron"].create(
|
||||
{
|
||||
**cls.base_cron_vals,
|
||||
"name": "Test Cron 2",
|
||||
}
|
||||
)
|
||||
|
||||
def test_check_auto_exclusion_self_reference(self):
|
||||
"""Test that a cron job cannot be mutually exclusive with itself"""
|
||||
with self.assertRaises(ValidationError):
|
||||
self.cron1.mutually_exclusive_cron_ids = self.cron1.ids
|
||||
|
||||
def test_mutually_exclusive_cron_assignment(self):
|
||||
"""Test normal assignment of mutually exclusive crons"""
|
||||
self.cron1.mutually_exclusive_cron_ids = self.cron2
|
||||
self.assertEqual(len(self.cron1.mutually_exclusive_cron_ids), 1)
|
||||
self.assertEqual(self.cron1.mutually_exclusive_cron_ids, self.cron2)
|
||||
Reference in New Issue
Block a user