forked from Mapan/odoo17e
38 lines
1.6 KiB
Python
38 lines
1.6 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from dateutil.relativedelta import relativedelta
|
|
from freezegun import freeze_time
|
|
|
|
from odoo.addons.appointment.tests.common import AppointmentCommon
|
|
|
|
|
|
class AppointmentInviteTest(AppointmentCommon):
|
|
|
|
def test_gc_appointment_invite(self):
|
|
""" Remove invitations > 6 months old, with latest end of linked meeting > 6 months old """
|
|
appt_invite = self.env['appointment.invite'].create({
|
|
'appointment_type_ids': [(4, self.apt_type_bxls_2days.id)],
|
|
'create_date': self.reference_now - relativedelta(months=8),
|
|
})
|
|
meeting_1, meeting_2 = self._create_meetings(
|
|
self.staff_user_bxls,
|
|
[(self.reference_now - relativedelta(months=5, hours=1),
|
|
self.reference_now - relativedelta(months=5),
|
|
False),
|
|
(self.reference_now - relativedelta(months=7, hours=1),
|
|
self.reference_now - relativedelta(months=7),
|
|
False)]
|
|
)
|
|
(meeting_1 | meeting_2).appointment_invite_id = appt_invite.id
|
|
|
|
with freeze_time(self.reference_now):
|
|
self.env['appointment.invite']._gc_appointment_invite()
|
|
self.assertTrue(appt_invite.exists())
|
|
|
|
# Remove the most recent meeting. The one left is > 6 months old and should be removed by the GC.
|
|
meeting_1.unlink()
|
|
with freeze_time(self.reference_now):
|
|
self.env['appointment.invite']._gc_appointment_invite()
|
|
self.assertFalse(appt_invite.exists())
|