""" Test du module date_week_transition """ from django.test import TestCase from datetime import datetime import pytz from ultron.tools.date_week_transition import ( from_date_to_week_number, from_week_number_to_date, get_number_of_weeks_between, ) import pendulum class FunctionTestCase(TestCase): def test_from_week_number_to_date(self): timezone = pytz.timezone("UTC") start_date = datetime(2022, 10, 3, 0, 0, 0, tzinfo=pytz.UTC) end_date = datetime(2022, 10, 9, 0, 0, 0, tzinfo=pytz.UTC) self.assertEqual(from_week_number_to_date("2022-2023", 6), (start_date, end_date)) start_date = datetime(2023, 1, 30, 0, 0, 0, tzinfo=pytz.UTC) end_date = datetime(2023, 2, 5, 0, 0, 0, tzinfo=pytz.UTC) self.assertEqual(from_week_number_to_date("2022-2023", 22), (start_date, end_date)) start_date = datetime(2023, 7, 3, 0, 0, 0, tzinfo=pytz.UTC) end_date = datetime(2023, 7, 9, 0, 0, 0, tzinfo=pytz.UTC) self.assertEqual(from_week_number_to_date("2022-2023", 44), (start_date, end_date)) def test_from_date_to_week_number(self): self.assertEqual(from_date_to_week_number(pendulum.date(2022, 9, 1)), ("2022-2023", 1)) self.assertEqual(from_date_to_week_number(pendulum.date(2023, 2, 5)), ("2022-2023", 22)) self.assertEqual(from_date_to_week_number(pendulum.date(2023, 7, 5)), ("2022-2023", 44)) def test_get_number_of_weeks_between(self): self.assertEqual(get_number_of_weeks_between(pendulum.date(2022, 9, 1), pendulum.date(2022, 9, 4)), 0) self.assertEqual(get_number_of_weeks_between(pendulum.date(2022, 9, 1), pendulum.date(2023, 2, 5)), 22) self.assertEqual(get_number_of_weeks_between(pendulum.date(2022, 9, 1), pendulum.date(2023, 7, 5)), 44) self.assertEqual(get_number_of_weeks_between(pendulum.date(2023, 2, 5), pendulum.date(2023, 7, 5)), 22)