Files
tradon/tests/test_report.py
2025-12-26 13:11:43 +00:00

62 lines
2.3 KiB
Python
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import datetime
import unittest
from trytond.report.report import Report
from trytond.tests.test_tryton import activate_module, with_transaction
class ReportTestCase(unittest.TestCase):
'Test Report'
@classmethod
def setUpClass(cls):
activate_module('tests')
@with_transaction()
def test_format_datetime(self):
"Test format datetime"
self.assertEqual(Report.format_datetime(
datetime.datetime(2020, 7, 8, 13, 30, 00)),
'07/08/2020 13:30:00')
@with_transaction()
def test_format_datetime_custom_format(self):
"Test format datetime custom format"
self.assertEqual(Report.format_datetime(
datetime.datetime(2020, 7, 8, 13, 30, 00),
format='%d %b %Y %I:%M %p'),
"08 Jul 2020 01:30 PM"),
def create_test_format_timedelta(i, in_, out):
@with_transaction()
def test(self):
self.assertEqual(Report.format_timedelta(in_), out)
test.__name__ = 'test_format_timedelta_%d' % i
test.__doc__ = "test format_timedelta of %s" % in_
return test
for i, (in_, out) in enumerate([
(None, ''),
(datetime.timedelta(), '00:00'),
(datetime.timedelta(days=3, hours=5, minutes=30), '3d 05:30'),
(datetime.timedelta(weeks=48), '11M 6d'),
(datetime.timedelta(weeks=50), '11M 2w 6d'),
(datetime.timedelta(weeks=52), '12M 4d'),
(datetime.timedelta(days=360), '12M'),
(datetime.timedelta(days=364), '12M 4d'),
(datetime.timedelta(days=365), '1Y'),
(datetime.timedelta(days=366), '1Y 1d'),
(datetime.timedelta(hours=2, minutes=5, seconds=10), '02:05:10'),
(datetime.timedelta(minutes=15, microseconds=42),
'00:15:00.000042'),
(datetime.timedelta(days=1, microseconds=42), '1d .000042'),
(datetime.timedelta(seconds=-1), '-00:00:01'),
(datetime.timedelta(days=-1, hours=-5, minutes=-30), '-1d 05:30'),
]):
test_method = create_test_format_timedelta(i, in_, out)
setattr(ReportTestCase, test_method.__name__, test_method)