forked from OCA/sale-workflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_res_partner_primeship.py
More file actions
64 lines (51 loc) · 2.41 KB
/
test_res_partner_primeship.py
File metadata and controls
64 lines (51 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# Copyright 2024 Akretion - Olivier Nibart
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from datetime import date, timedelta
from freezegun import freeze_time
from .common import TestCommon
@freeze_time("2025-04-01 12:00:00")
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)