Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve unit test coverage #127

Merged
merged 4 commits into from
Sep 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions scripts/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,11 +359,13 @@ 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
Expand Down
2 changes: 1 addition & 1 deletion scripts/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
Expand Down
5 changes: 3 additions & 2 deletions tests/test_release.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import unittest
from datetime import date
from datetime import date, timedelta

from dotenv import load_dotenv

Expand All @@ -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,
Expand All @@ -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):
Expand Down
41 changes: 41 additions & 0 deletions tests/test_tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -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(
Expand All @@ -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__":
Expand Down