AtAnyRate/tests/conftest.py
ilia c8a82e264c Add tests, geo search, noise filtering, sports scoring, and dedup improvements.
Tests cover providers, dedup, Telegram, scoring, main runner, and Airbnb stubs.
Ticketmaster and SeatGeek use configurable lat/lon/radius (Thornhill default).
Pipeline filters noise listings, merges same-day sports duplicates, optional
MIN_ALERT_SCORE, and Telegram severity summary.

Made-with: Cursor
2026-04-04 15:25:35 -04:00

106 lines
3.0 KiB
Python

"""Shared fixtures for all tests."""
from __future__ import annotations
from datetime import date
import pytest
from src.models import NormalizedEvent
@pytest.fixture()
def sample_event() -> NormalizedEvent:
return NormalizedEvent(
name="Toronto Raptors vs Boston Celtics",
event_date=date(2026, 5, 10),
venue="Scotiabank Arena",
source="ticketmaster",
url="https://example.com/raptors",
)
@pytest.fixture()
def sample_events() -> list[NormalizedEvent]:
return [
NormalizedEvent(
name="Toronto Raptors vs Boston Celtics",
event_date=date(2026, 5, 10),
venue="Scotiabank Arena",
source="ticketmaster",
url="https://example.com/raptors",
),
NormalizedEvent(
name="Blue Jays vs Yankees",
event_date=date(2026, 5, 12),
venue="Rogers Centre",
source="seatgeek",
url="https://example.com/jays",
),
NormalizedEvent(
name="Drake Concert",
event_date=date(2026, 5, 15),
venue="Budweiser Stage",
source="ticketmaster",
url="https://example.com/drake",
),
]
TICKETMASTER_RESPONSE = {
"_embedded": {
"events": [
{
"name": "Toronto Raptors vs Boston Celtics",
"dates": {"start": {"localDate": "2026-05-10"}},
"url": "https://www.ticketmaster.ca/raptors",
"_embedded": {
"venues": [{"name": "Scotiabank Arena"}]
},
},
{
"name": "Blue Jays vs Yankees",
"dates": {"start": {"localDate": "2026-05-12"}},
"url": "https://www.ticketmaster.ca/jays",
"_embedded": {
"venues": [{"name": "Rogers Centre"}]
},
},
{
"name": "Indie Band at Horseshoe",
"dates": {"start": {"localDate": "2026-05-11"}},
"url": "https://www.ticketmaster.ca/indie",
"_embedded": {
"venues": [{"name": "Horseshoe Tavern"}]
},
},
]
}
}
SEATGEEK_RESPONSE = {
"events": [
{
"title": "Raptors vs Celtics",
"datetime_local": "2026-05-10T19:30:00",
"venue": {"name": "Scotiabank Arena"},
"url": "https://seatgeek.com/raptors",
"score": 0.85,
},
{
"title": "Drake Concert",
"datetime_local": "2026-05-15T20:00:00",
"venue": {"name": "Budweiser Stage"},
"url": "https://seatgeek.com/drake",
"score": 0.72,
},
{
"title": "Local Open Mic",
"datetime_local": "2026-05-14T21:00:00",
"venue": {"name": "The Rex"},
"url": "https://seatgeek.com/openmic",
"score": 0.1,
},
]
}