""" Test du module date_week_transition """ from django.test import TestCase from datetime import datetime import pytz from jarvis.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, )