19.0 vanilla

This commit is contained in:
Ernad Husremovic 2026-03-09 09:31:34 +01:00
parent c5006a6999
commit 80293571e7
420 changed files with 21812 additions and 44297 deletions

View file

@ -0,0 +1 @@
from . import test_account_move

View file

@ -0,0 +1,43 @@
from datetime import date, datetime, time
from freezegun import freeze_time
from odoo.exceptions import UserError
from odoo.tests import tagged
from odoo.addons.account.tests.common import AccountTestInvoicingCommon
@tagged('post_install_l10n', 'post_install', '-at_install')
class TestSaAccountMove(AccountTestInvoicingCommon):
@freeze_time('2026-06-15 14:00:00')
def test_normalized_confirmation_datetime_future_date_rejected(self):
"""
UTC time -> 2026-06-15 14:00:00 (2026-06-15 17:00:00 in Asia/Riyadh)
Setting the invoice date to 2026-06-16 would make the
l10n_sa_confirmation_datetime -> 2026-06-16 14:00:00 UTC which is in the future
this should raise an exception
"""
with self.assertRaises(UserError):
self.env['account.move']._get_normalized_l10n_sa_confirmation_datetime(date(2026, 6, 16))
@freeze_time('2026-06-15 14:00:00')
def test_normalized_confirmation_datetime_past_date(self):
"""
UTC time -> 2026-06-15 14:00:00 (2026-06-15 17:00:00 in Asia/Riyadh)
Setting the invoice date to 2026-06-14 would make the
l10n_sa_confirmation_datetime -> 2026-06-14 14:00:00 UTC which is in the past
this should be fine
"""
result = self.env['account.move']._get_normalized_l10n_sa_confirmation_datetime(date(2026, 6, 14))
self.assertEqual(result, datetime(2026, 6, 14, 14, 0, 0))
@freeze_time('2026-06-15 23:00:00')
def test_normalized_confirmation_datetime_today_capped(self):
"""
UTC time -> 2026-06-15 23:00:00 (2026-06-16 02:00:00 in Asia/Riyadh)
Setting the invoice date to 2026-06-16 (the date in Saudi Arabia) with
invoice_time 05:00 SA (which is after now 02:00 SA), the min() should cap
the result to now_sa -> 2026-06-15 23:00:00 UTC
"""
result = self.env['account.move']._get_normalized_l10n_sa_confirmation_datetime(date(2026, 6, 16), time(5, 0, 0))
self.assertEqual(result, datetime(2026, 6, 15, 23, 0, 0))