"""Tests for the scraper module."""
from __future__ import annotations
import pytest
from datetime import date
from src.scraper import (
get_date_for_dutch_day,
parse_rating,
parse_time,
ScrapingError,
)
def test_parse_rating() -> None:
"""Test rating parsing."""
assert parse_rating("7.6★") == 7.6
assert parse_rating("8.0★") == 8.0
assert parse_rating("6.5★") == 6.5
assert parse_rating("") is None
assert parse_rating(None) is None
assert parse_rating("No rating") is None
def test_parse_time() -> None:
"""Test time parsing."""
assert parse_time("21:00") is not None
assert parse_time("21:00").hour == 21
assert parse_time("21:00").minute == 0
assert parse_time("18:30").hour == 18
assert parse_time("18:30").minute == 30
assert parse_time("invalid") is None
assert parse_time("") is None
def test_get_date_for_dutch_day() -> None:
"""Test Dutch day name to date conversion."""
today = date(2025, 1, 15) # Wednesday
# Test "vandaag" (today)
assert get_date_for_dutch_day("vandaag", today) == today
# Test "morgen" (tomorrow)
assert get_date_for_dutch_day("morgen", today) == date(2025, 1, 16)
# Test day names
# Wednesday -> Thursday (donderdag) should be tomorrow
assert get_date_for_dutch_day("donderdag", today) == date(2025, 1, 16)
# Wednesday -> Friday (vrijdag) should be day after tomorrow
assert get_date_for_dutch_day("vrijdag", today) == date(2025, 1, 17)