53 lines
2.3 KiB
Python
53 lines
2.3 KiB
Python
""" Test du module date_week_transition """
|
|
|
|
from django.test import TestCase
|
|
from datetime import datetime
|
|
import pytz
|
|
|
|
from ultron.tools.date_week_transition import (
|
|
is_valid_season,
|
|
from_date_to_week_number,
|
|
from_week_number_to_date,
|
|
get_number_of_weeks_between,
|
|
)
|
|
|
|
import pendulum
|
|
|
|
|
|
class URLTestCase(TestCase):
|
|
|
|
def test_is_valid_season(self):
|
|
self.assertEqual(is_valid_season("2022-2023"), True)
|
|
self.assertEqual(is_valid_season("2022-2024"), False)
|
|
self.assertEqual(is_valid_season("2024-2023"), False)
|
|
self.assertEqual(is_valid_season("1358-5682"), False)
|
|
self.assertEqual(is_valid_season("fgkrs-gkml"), False)
|
|
self.assertEqual(is_valid_season("drgnldsjgklfdtngl"), False)
|
|
self.assertEqual(is_valid_season("12675353878354"), False)
|
|
|
|
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)), 1)
|
|
self.assertEqual(from_date_to_week_number(pendulum.date(2023, 2, 5)), 22)
|
|
self.assertEqual(from_date_to_week_number(pendulum.date(2023, 7, 5)), 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)
|