Public release from ruodoo-project: 19.0 - 2026-05-10 21:19:01 UTC
This commit is contained in:
46
base_tier_validation/tests/test_tier_validation_reminder.py
Normal file
46
base_tier_validation/tests/test_tier_validation_reminder.py
Normal file
@ -0,0 +1,46 @@
|
||||
# Copyright 2018-19 ForgeFlow S.L. (https://www.forgeflow.com)
|
||||
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from odoo import fields
|
||||
from odoo.tests.common import tagged
|
||||
|
||||
from .common import CommonTierValidation
|
||||
|
||||
|
||||
@tagged("post_install", "-at_install")
|
||||
class TierTierValidation(CommonTierValidation):
|
||||
def test_validation_reminder(self):
|
||||
"""Check the posting of reminder to reviews."""
|
||||
tier_definition = self.tier_definition
|
||||
tier_definition.notify_reminder_delay = 3
|
||||
|
||||
# Request a review today
|
||||
self.test_record.with_user(self.test_user_2.id).request_validation()
|
||||
review = self.env["tier.review"].search(
|
||||
[("definition_id", "=", tier_definition.id)]
|
||||
)
|
||||
self.assertTrue(review)
|
||||
self.assertEqual(review.last_reminder_date, False)
|
||||
|
||||
# 2 days later no reminder should be posted
|
||||
in_2_days = fields.Datetime.add(fields.Datetime.now(), days=2)
|
||||
with freeze_time(in_2_days):
|
||||
tier_definition._cron_send_review_reminder()
|
||||
self.assertEqual(review.last_reminder_date, False)
|
||||
# 4 days later first reminder
|
||||
in_4_days = fields.Datetime.add(fields.Datetime.now(), days=4)
|
||||
with freeze_time(in_4_days):
|
||||
self.tier_definition._cron_send_review_reminder()
|
||||
self.assertEqual(review.last_reminder_date, in_4_days)
|
||||
# 5 days later no new reminder
|
||||
in_6_days = fields.Datetime.add(fields.Datetime.now(), days=6)
|
||||
with freeze_time(in_6_days):
|
||||
self.tier_definition._cron_send_review_reminder()
|
||||
self.assertEqual(review.last_reminder_date, in_4_days)
|
||||
# 9 days later second reminder
|
||||
in_9_days = fields.Datetime.add(fields.Datetime.now(), days=9)
|
||||
with freeze_time(in_9_days):
|
||||
self.tier_definition._cron_send_review_reminder()
|
||||
self.assertEqual(review.last_reminder_date, in_9_days)
|
||||
Reference in New Issue
Block a user