Start a test suite
This commit is contained in:
parent
48bbd51216
commit
5649957063
87
tests/test_agenda.py
Normal file
87
tests/test_agenda.py
Normal file
|
@ -0,0 +1,87 @@
|
|||
import datetime
|
||||
from decimal import Decimal
|
||||
|
||||
import pytest
|
||||
from agenda import (
|
||||
get_gbpusd,
|
||||
get_next_bank_holiday,
|
||||
get_next_timezone_transition,
|
||||
next_economist,
|
||||
next_uk_fathers_day,
|
||||
next_uk_mothers_day,
|
||||
timedelta_display,
|
||||
uk_financial_year_end,
|
||||
xmas_day,
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mock_today():
|
||||
# Mock the current date for testing purposes
|
||||
return datetime.date(2023, 10, 5)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def mock_now():
|
||||
# Mock the current date and time for testing purposes
|
||||
return datetime.datetime(2023, 10, 5, 12, 0, 0)
|
||||
|
||||
|
||||
def test_next_uk_mothers_day(mock_today):
|
||||
# Test next_uk_mothers_day function
|
||||
next_mothers_day = next_uk_mothers_day(mock_today)
|
||||
assert next_mothers_day == datetime.date(2024, 4, 21)
|
||||
|
||||
|
||||
def test_next_uk_fathers_day(mock_today):
|
||||
# Test next_uk_fathers_day function
|
||||
next_fathers_day = next_uk_fathers_day(mock_today)
|
||||
assert next_fathers_day == datetime.date(2024, 6, 21)
|
||||
|
||||
|
||||
def test_get_next_timezone_transition(mock_now) -> None:
|
||||
# Test get_next_timezone_transition function
|
||||
next_transition = get_next_timezone_transition(mock_now, "Europe/London")
|
||||
assert next_transition == datetime.date(2023, 10, 29)
|
||||
|
||||
|
||||
def test_get_next_bank_holiday(mock_today) -> None:
|
||||
# Test get_next_bank_holiday function
|
||||
next_holiday = get_next_bank_holiday(mock_today)
|
||||
assert next_holiday["date"] == datetime.date(2023, 12, 25)
|
||||
assert next_holiday["title"] == "Christmas Day"
|
||||
|
||||
|
||||
def test_get_gbpusd(mock_now):
|
||||
# Test get_gbpusd function
|
||||
gbpusd = get_gbpusd(mock_now)
|
||||
assert isinstance(gbpusd, Decimal)
|
||||
# You can add more assertions based on your specific use case.
|
||||
|
||||
|
||||
def test_next_economist(mock_today):
|
||||
# Test next_economist function
|
||||
next_publication = next_economist(mock_today)
|
||||
assert next_publication == datetime.date(2023, 10, 5)
|
||||
|
||||
|
||||
def test_xmas_day():
|
||||
# Test xmas_day function
|
||||
christmas = xmas_day(datetime.date(2023, 12, 25))
|
||||
assert christmas == datetime.date(2023, 12, 25)
|
||||
|
||||
|
||||
def test_uk_financial_year_end():
|
||||
# Test uk_financial_year_end function
|
||||
financial_year_end = uk_financial_year_end(datetime.date(2023, 4, 1))
|
||||
assert financial_year_end == datetime.date(2023, 4, 5)
|
||||
|
||||
|
||||
def test_timedelta_display():
|
||||
# Test timedelta_display function
|
||||
delta = datetime.timedelta(days=2, hours=5, minutes=30)
|
||||
display = timedelta_display(delta)
|
||||
assert display == " 2 days 5 hrs 30 mins"
|
||||
|
||||
|
||||
# You can add more test cases for other functions as needed.
|
Loading…
Reference in a new issue