# ============================================================================== # Author: Simon-Pierre Boucher # File: tests/test_tastet.py # Desc: Connecteur Tastet (découverte éditoriale) — parse_maps_query # (le « + » est le SÉPARATEUR nom/adresse, ville par suffixe # VILLE_REGION, code postal en fin) et parse_review (lien Maps, # tel:, og:image ; pages sans fiche resto -> None). # ============================================================================== from restoka.connectors.tastet import parse_maps_query, parse_review def test_parse_maps_query_complet(): q = "Cantine%20Dukana+1556 Avenue Laurier Est Montréal H2J 1H9" name, addr, city, postal = parse_maps_query(q) assert name == "Cantine Dukana" assert addr == "1556 Avenue Laurier Est" assert city == "Montréal" assert postal == "H2J1H9" def test_parse_maps_query_ville_multi_tokens(): q = "Le Resto+12 Rue Racine Saguenay G7H 1Z5" name, addr, city, postal = parse_maps_query(q) assert (name, city, postal) == ("Le Resto", "Saguenay", "G7H1Z5") assert addr == "12 Rue Racine" def test_parse_maps_query_sans_postal_ni_ville(): name, addr, city, postal = parse_maps_query("Chez Nous+99 Rue Untel") assert name == "Chez Nous" and addr == "99 Rue Untel" assert city == "" and postal == "" PAGE = """ Maps Appeler """ def test_parse_review(): p = parse_review(PAGE) assert p["name"] == "Cantine Dukana" assert p["city"] == "Montréal" assert p["postal_code"] == "H2J1H9" assert p["phone"] == "+15144190669" assert p["image"].startswith("https://tastet.ca/img/") def test_parse_review_sans_fiche(): # page éditoriale sans lien Google Maps : pas une fiche resto assert parse_review("Top 10 des terrasses") \ is None