From 67cfa0ed6d70bde554eef8326b29c833af0b03f4 Mon Sep 17 00:00:00 2001 From: Aleksandr Kariasov Date: Tue, 20 Aug 2024 14:54:20 +0200 Subject: [PATCH 1/3] Improve unit test coverage --- scripts/tools.py | 2 +- tests/test_tools.py | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/scripts/tools.py b/scripts/tools.py index f37f7ef..a37ec73 100644 --- a/scripts/tools.py +++ b/scripts/tools.py @@ -79,7 +79,7 @@ def get_releases_difference(release1: datetime.date, release2: datetime.date) -> ) if (release >= FIRST_NEW_RELEASE) and (release.weekday() != THURSDAY): raise AssertionError( - f"{release} is before {FIRST_NEW_RELEASE} and is not on Thursday." + f"{release} is after {FIRST_NEW_RELEASE} and is not on Thursday." ) if release1 <= LAST_OLD_RELEASE < FIRST_NEW_RELEASE <= release2: return ( diff --git a/tests/test_tools.py b/tests/test_tools.py index 8c99103..36b8157 100644 --- a/tests/test_tools.py +++ b/tests/test_tools.py @@ -28,6 +28,36 @@ def test_get_releases_difference(self): tools.get_releases_difference( datetime.date(2020, 3, 21), datetime.date(2021, 9, 16) ) + # release1 is after release2 + with self.assertRaises(AssertionError) as _: + tools.get_releases_difference( + datetime.date(2021, 9, 16), datetime.date(2020, 3, 21) + ) + # release1 is between LAST_OLD_RELEASE and FIRST_NEW_RELEASE + with self.assertRaises(AssertionError) as _: + tools.get_releases_difference( + datetime.date(2020, 5, 21), datetime.date(2021, 9, 16) + ) + # release2 is between LAST_OLD_RELEASE and FIRST_NEW_RELEASE + with self.assertRaises(AssertionError) as _: + tools.get_releases_difference( + datetime.date(2020, 3, 21), datetime.date(2021, 8, 16) + ) + # both release1 and release2 is between LAST_OLD_RELEASE and FIRST_NEW_RELEASE + with self.assertRaises(AssertionError) as _: + tools.get_releases_difference( + datetime.date(2020, 5, 21), datetime.date(2021, 8, 16) + ) + # release1 is before LAST_OLD_RELEASE and is not on Friday. + with self.assertRaises(AssertionError) as _: + tools.get_releases_difference( + datetime.date(2020, 3, 23), datetime.date(2021, 9, 16) + ) + # release1 is after FIRST_NEW_RELEASE and is not on Thursday. + with self.assertRaises(AssertionError) as _: + tools.get_releases_difference( + datetime.date(2020, 3, 20), datetime.date(2021, 9, 17) + ) def test_get_age_in_weeks(self): self.assertEqual( @@ -52,6 +82,11 @@ def test_get_age_in_weeks(self): tools.get_age_in_weeks( datetime.date(2021, 9, 13), datetime.date(2021, 9, 9) ) + # tournament_end is between old releases and new releases. + with self.assertRaises(AssertionError) as _: + tools.get_age_in_weeks( + datetime.date(2021, 8, 13), datetime.date(2021, 8, 9) + ) def test_get_prev_release_date(self): self.assertEqual( @@ -68,6 +103,12 @@ def test_get_prev_release_date(self): ) with self.assertRaises(AssertionError) as _: tools.get_prev_release_date(datetime.date(2021, 9, 13)) + # release_date is between old releases and new releases." + with self.assertRaises(AssertionError) as _: + tools.get_prev_release_date(datetime.date(2021, 8, 13)) + # release_date is old but not on Friday." + with self.assertRaises(AssertionError) as _: + tools.get_prev_release_date(datetime.date(2020, 4, 1)) if __name__ == "__main__": From b84459dd6ea7c3bdb02a6524d82b050952593b1c Mon Sep 17 00:00:00 2001 From: Aleksandr Kariasov Date: Sun, 1 Sep 2024 19:05:48 +0200 Subject: [PATCH 2/3] Improve unit test coverage --- scripts/main.py | 4 ++-- tests/test_release.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/main.py b/scripts/main.py index 1aaa5b6..8409b73 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -359,11 +359,11 @@ def calc_release(next_release_date: datetime.date): # Calculates all releases starting from FIRST_NEW_RELEASE until current date -def calc_all_releases(first_to_calc: datetime.date): +def calc_all_releases(first_to_calc: datetime.date, last_to_calc: datetime.date = datetime.date.today()): next_release_date = first_to_calc time_started = datetime.datetime.now() n_releases_calculated = 0 - last_day_to_calc = datetime.date.today() + datetime.timedelta(days=7) + last_day_to_calc = last_to_calc + datetime.timedelta(days=7) while next_release_date <= last_day_to_calc: calc_release(next_release_date=next_release_date) n_releases_calculated += 1 diff --git a/tests/test_release.py b/tests/test_release.py index 02118e6..487e8f1 100644 --- a/tests/test_release.py +++ b/tests/test_release.py @@ -1,5 +1,5 @@ import unittest -from datetime import date +from datetime import date, timedelta from dotenv import load_dotenv @@ -9,7 +9,7 @@ django.setup() -from scripts.main import calc_release +from scripts.main import calc_release, calc_all_releases from b.models import ( Team_rating, Tournament_in_release, @@ -25,6 +25,7 @@ class TestReleases(unittest.TestCase): def setUpClass(cls): release_date = date(2021, 9, 16) calc_release(release_date) + calc_all_releases(release_date, release_date + timedelta(days=14)) cls.release = Release.objects.get(date=release_date) def test_team_rating_values(self): From ebf955fdd9b5b59fac753896badfa3982039c3f6 Mon Sep 17 00:00:00 2001 From: Aleksandr Kariasov Date: Sun, 1 Sep 2024 19:24:29 +0200 Subject: [PATCH 3/3] poetry fmt --- scripts/main.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/main.py b/scripts/main.py index 8409b73..ca251e3 100644 --- a/scripts/main.py +++ b/scripts/main.py @@ -359,7 +359,9 @@ def calc_release(next_release_date: datetime.date): # Calculates all releases starting from FIRST_NEW_RELEASE until current date -def calc_all_releases(first_to_calc: datetime.date, last_to_calc: datetime.date = datetime.date.today()): +def calc_all_releases( + first_to_calc: datetime.date, last_to_calc: datetime.date = datetime.date.today() +): next_release_date = first_to_calc time_started = datetime.datetime.now() n_releases_calculated = 0