umap/umap/tests/integration/test_popup.py
2024-12-05 17:29:30 +01:00

44 lines
1.4 KiB
Python

import pytest
from playwright.sync_api import expect
from ..base import DataLayerFactory
pytestmark = pytest.mark.django_db
OSM_DATA = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {"type": "Point", "coordinates": [2.49, 48.79]},
"properties": {
"amenity": "restaurant",
"cuisine": "italian",
"name": "A Casa di Nonna",
"panoramax": "d811b398-d930-4cf8-95a2-0c29c34d9fca",
"phone": "+33 1 48 89 54 12",
"takeaway:covid19": "yes",
"wheelchair": "no",
"id": "node/1130849864",
},
"id": "AzMjk",
},
],
"_umap_options": {
"popupTemplate": "OSM",
},
}
def test_openstreetmap_popup(live_server, map, page):
DataLayerFactory(map=map, data=OSM_DATA)
page.goto(f"{live_server.url}{map.get_absolute_url()}#18/48.79/2.49")
expect(page.locator(".umap-icon-active")).to_be_hidden()
page.locator(".leaflet-marker-icon").click()
expect(page.get_by_role("heading", name="A Casa di Nonna")).to_be_visible()
expect(page.get_by_text("+33 1 48 89 54 12")).to_be_visible()
img = page.locator(".umap-popup-content img")
expect(img).to_have_attribute(
"src",
"https://api.panoramax.xyz/api/pictures/d811b398-d930-4cf8-95a2-0c29c34d9fca/sd.jpg",
)