62 lines
2.3 KiB
Python
Executable File
62 lines
2.3 KiB
Python
Executable File
# Copyright 2024 Akretion - Olivier Nibart
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
from datetime import date, timedelta
|
|
|
|
from .common import TestCommon
|
|
|
|
|
|
class TestResPartnerPrimeship(TestCommon):
|
|
def test_compute_active_primeship(self):
|
|
active_primeship = self.make_primeship(
|
|
date.today() - timedelta(days=1), date.today() + timedelta(days=30)
|
|
)
|
|
self.assertTrue(active_primeship.current)
|
|
self.partner._compute_active_primeship()
|
|
self.assertTrue(self.partner.active_primeship)
|
|
|
|
expired_primeship = self.make_primeship(
|
|
date.today() - timedelta(days=60), date.today() - timedelta(days=30)
|
|
)
|
|
self.assertFalse(expired_primeship.current)
|
|
self.partner._compute_active_primeship()
|
|
# Still true due to active primeship
|
|
self.assertTrue(self.partner.active_primeship)
|
|
|
|
active_primeship.active = False
|
|
self.partner._compute_active_primeship()
|
|
self.assertFalse(self.partner.active_primeship)
|
|
|
|
def test_compute_primeship_count(self):
|
|
self.assertEqual(self.partner.primeship_count, 0)
|
|
|
|
self.make_primeship(date.today(), date.today() + timedelta(days=30))
|
|
self.partner._compute_primeship_count()
|
|
self.assertEqual(self.partner.primeship_count, 1)
|
|
|
|
self.make_primeship(
|
|
date.today() + timedelta(days=31), date.today() + timedelta(days=60)
|
|
)
|
|
self.partner._compute_primeship_count()
|
|
self.assertEqual(self.partner.primeship_count, 2)
|
|
|
|
def test_check_expired_primeships(self):
|
|
primeship = self.make_primeship(
|
|
date.today() - timedelta(days=1), date.today() + timedelta(days=30)
|
|
)
|
|
self.assertTrue(self.partner.active_primeship)
|
|
self.Partner._check_expired_primeships()
|
|
self.assertTrue(self.partner.active_primeship)
|
|
|
|
primeship.start_date = date.today() + timedelta(days=1)
|
|
self.assertFalse(self.partner.active_primeship)
|
|
self.partner.active_primeship = True
|
|
self.Partner._check_expired_primeships()
|
|
self.assertFalse(self.partner.active_primeship)
|
|
|
|
# work also on inactive partners
|
|
self.partner.active = False
|
|
self.partner.active_primeship = True
|
|
self.Partner._check_expired_primeships()
|
|
self.assertFalse(self.partner.active_primeship)
|