42 lines
1.1 KiB
Python
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]
|