agenda/tests/test_holidays.py

42 lines
1.1 KiB
Python

"""Tests for holiday selection."""
from datetime import date
from unittest import mock
import flask
import agenda.holidays
from agenda.types import Holiday, Trip
def test_trip_holidays_include_uk_bank_holiday_for_international_trip() -> None:
"""UK bank holidays remain relevant while travelling internationally."""
trip = Trip(
start=date(2026, 8, 23),
accommodation=[
{
"name": "Paris hotel",
"location": "Paris",
"country": "fr",
"from": date(2026, 8, 23),
"to": date(2026, 8, 31),
}
],
)
summer_bank_holiday = Holiday(
date=date(2026, 8, 31),
name="Summer bank holiday",
country="gb",
)
app = flask.Flask(__name__)
app.config["DATA_DIR"] = "/unused"
with (
app.app_context(),
mock.patch.object(
agenda.holidays,
"get_all",
return_value=[summer_bank_holiday],
),
):
assert agenda.holidays.get_trip_holidays(trip) == [summer_bank_holiday]