39 lines
1.4 KiB
Python
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")
|