Skip to content

Commit 8fd1f1a

Browse files
Added util tests for calculate_years_and_months_to_traverse function
1 parent 1b364c5 commit 8fd1f1a

File tree

2 files changed

+32
-3
lines changed

2 files changed

+32
-3
lines changed

tests_utils/test_calendar_picker_util.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,30 @@ def test_calculate_v2_calendar_variables(page: Page):
9191
assert end_of_current_century == "2090"
9292
assert current_century == 2000
9393
assert century == 2300
94+
95+
96+
def test_calculate_years_and_months_to_traverse(page: Page):
97+
calendar_picker = CalendarPicker(page)
98+
years_to_traverse, months_to_traverse = (
99+
calendar_picker.calculate_years_and_months_to_traverse(
100+
datetime(2356, 12, 18), datetime(2020, 6, 9)
101+
)
102+
)
103+
assert years_to_traverse == -336
104+
assert months_to_traverse == -6
105+
106+
years_to_traverse, months_to_traverse = (
107+
calendar_picker.calculate_years_and_months_to_traverse(
108+
datetime(2020, 12, 1), datetime(2020, 6, 9)
109+
)
110+
)
111+
assert years_to_traverse == 0
112+
assert months_to_traverse == -6
113+
114+
years_to_traverse, months_to_traverse = (
115+
calendar_picker.calculate_years_and_months_to_traverse(
116+
datetime(1961, 1, 30), datetime(2020, 6, 9)
117+
)
118+
)
119+
assert years_to_traverse == 59
120+
assert months_to_traverse == 5

utils/calendar_picker.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,13 @@ def calendar_picker_ddmonyy(self, date: datetime, locator: Locator) -> None:
4040
locator.fill(formatted_date)
4141
locator.press("Enter")
4242

43-
def calculate_years_and_months_to_traverse(self, date: datetime) -> tuple[int, int]:
43+
def calculate_years_and_months_to_traverse(
44+
self, date: datetime, current_date: datetime
45+
) -> tuple[int, int]:
4446
"""
4547
This function is used when using the v1 calendar picker
4648
It calculates how many years and months it needs to traverse
4749
"""
48-
current_date = datetime.today()
4950
years_to_traverse = int(current_date.strftime("%Y")) - int(date.strftime("%Y"))
5051
months_to_traverse = int(current_date.strftime("%m")) - int(date.strftime("%m"))
5152
return years_to_traverse, months_to_traverse
@@ -94,8 +95,9 @@ def v1_calender_picker(self, date: datetime) -> None:
9495
This is the main method used to traverse the v1 calendar picker (e.g. the one on the subject screening search page)
9596
You provide it with a date and it will call the necessary functions to calculate how to navigate to the specified date
9697
"""
98+
current_date = datetime.today()
9799
years_to_traverse, months_to_traverse = (
98-
self.calculate_years_and_months_to_traverse(date)
100+
self.calculate_years_and_months_to_traverse(date, current_date)
99101
)
100102

101103
self.traverse_years_in_v1_calendar(years_to_traverse)

0 commit comments

Comments
 (0)