SPB Git forge

spb/resto-ka

Public

Resto·Ka — tous les restaurants du Québec, menus complets et prix réels (famille ·Ka)

52commits 1branches 0releases
11.6 MBsize
maindefault branch
19 days agolast push
Python 69.3% TypeScript 16.7% CSS 7.9% JavaScript 4.7% HTML 1.4%
2.1 KB · 57 lines python
Raw Blame History
1# ==============================================================================2# Author: Simon-Pierre Boucher <contact@spboucher.ai>3# File:   tests/test_tastet.py4# Desc:   Connecteur Tastet (découverte éditoriale) — parse_maps_query5#         (le « + » est le SÉPARATEUR nom/adresse, ville par suffixe6#         VILLE_REGION, code postal en fin) et parse_review (lien Maps,7#         tel:, og:image ; pages sans fiche resto -> None).8# ==============================================================================9from restoka.connectors.tastet import parse_maps_query, parse_review101112def test_parse_maps_query_complet():13    q = "Cantine%20Dukana+1556 Avenue Laurier Est Montréal H2J 1H9"14    name, addr, city, postal = parse_maps_query(q)15    assert name == "Cantine Dukana"16    assert addr == "1556 Avenue Laurier Est"17    assert city == "Montréal"18    assert postal == "H2J1H9"192021def test_parse_maps_query_ville_multi_tokens():22    q = "Le Resto+12 Rue Racine Saguenay G7H 1Z5"23    name, addr, city, postal = parse_maps_query(q)24    assert (name, city, postal) == ("Le Resto", "Saguenay", "G7H1Z5")25    assert addr == "12 Rue Racine"262728def test_parse_maps_query_sans_postal_ni_ville():29    name, addr, city, postal = parse_maps_query("Chez Nous+99 Rue Untel")30    assert name == "Chez Nous" and addr == "99 Rue Untel"31    assert city == "" and postal == ""323334PAGE = """35<html><head>36<meta property="og:image" content="https://tastet.ca/img/dukana.jpg&#038;x=1">37</head><body>38<a href="https://www.google.com/maps/search/?api=1&amp;query=Cantine%20Dukana+1556 Avenue Laurier Est Montréal H2J 1H9">Maps</a>39<a href="tel:+15144190669">Appeler</a>40</body></html>41"""424344def test_parse_review():45    p = parse_review(PAGE)46    assert p["name"] == "Cantine Dukana"47    assert p["city"] == "Montréal"48    assert p["postal_code"] == "H2J1H9"49    assert p["phone"] == "+15144190669"50    assert p["image"].startswith("https://tastet.ca/img/")515253def test_parse_review_sans_fiche():54    # page éditoriale sans lien Google Maps : pas une fiche resto55    assert parse_review("<html><body>Top 10 des terrasses</body></html>") \56        is None57