summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Smet <las@odoo.com>2020-07-02 10:59:17 +0000
committerLaurent Smet <las@odoo.com>2020-07-03 17:29:42 +0000
commitaa7dd77a6787447d9ca9f8c576bbaf02f6856fbc (patch)
tree6a52297c3d9f927a162e513c391cf9734303fbe0
parentddf9f0f4cb226bea0f887732fca77a2c43536977 (diff)
[IMP] account: Allow mocking a datetime in mocked_today
X-original-commit: a9a1d8e5348010eca7de15199faae1f2469d96ff
-rw-r--r--addons/account/tests/common.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/addons/account/tests/common.py b/addons/account/tests/common.py
index b28d51d18db..7bf7c391b18 100644
--- a/addons/account/tests/common.py
+++ b/addons/account/tests/common.py
@@ -6,6 +6,7 @@ from odoo.tests.common import SavepointCase, HttpCase, tagged, Form
import time
import logging
+import datetime
from contextlib import contextmanager
from unittest.mock import patch
@@ -993,14 +994,22 @@ class AccountTestInvoicingCommon(SavepointCase):
'''
if isinstance(forced_today, str):
- forced_today = fields.Date.from_string(forced_today)
+ forced_today_date = fields.Date.from_string(forced_today)
+ forced_today_datetime = fields.Datetime.from_string(forced_today)
+ elif isinstance(forced_today, datetime.datetime):
+ forced_today_datetime = forced_today
+ forced_today_date = forced_today_datetime.date()
+ else:
+ forced_today_date = forced_today
+ forced_today_datetime = datetime.datetime.combine(forced_today_date, datetime.time())
def today(*args, **kwargs):
- return forced_today
+ return forced_today_date
with patch.object(fields.Date, 'today', today):
with patch.object(fields.Date, 'context_today', today):
- yield
+ with patch.object(fields.Datetime, 'now', return_value=forced_today_datetime):
+ yield
@classmethod
def init_invoice(cls, move_type, partner=None, invoice_date=None):