approval_cleaner/tests/test_approval_cleaner.py
2026-01-27 11:39:27 +07:00

39 lines
1.4 KiB
Python

from odoo.tests import common
from odoo import fields
from datetime import timedelta
class TestApprovalCleaner(common.TransactionCase):
def setUp(self):
super(TestApprovalCleaner, self).setUp()
self.ApprovalRequest = self.env['approval.request']
self.category = self.env['approval.category'].create({
'name': 'Test Category',
'has_date': 'required',
})
# Create approvals with different dates
self.approval_old = self.ApprovalRequest.create({
'name': 'Old Approval',
'category_id': self.category.id,
'date': fields.Datetime.now() - timedelta(days=100),
})
self.approval_new = self.ApprovalRequest.create({
'name': 'New Approval',
'category_id': self.category.id,
'date': fields.Datetime.now() - timedelta(days=10),
})
def test_clean_approvals(self):
wizard = self.env['approval.cleaner.wizard'].create({
'date_end': fields.Date.today() - timedelta(days=30),
})
wizard.action_clean_approvals()
# Check that old approval is deleted
self.assertFalse(self.approval_old.exists(), "Old approval should be deleted")
# Check that new approval still exists
self.assertTrue(self.approval_new.exists(), "New approval should not be deleted")