umap/umap/tests/integration/test_map_list.py
Yohan Boniface 99d5165fcf fix: make sure we do not render browser in map fragment
There was an edge case when map has "dataLayersControl=expanded":
we only overrided "onLoadPanel", so dataLayersControl was still
considerer. Let's have a more generic stop.
2024-04-17 08:27:58 +02:00

28 lines
1.3 KiB
Python

import pytest
from playwright.sync_api import expect
pytestmark = pytest.mark.django_db
def test_should_not_render_any_control(live_server, tilelayer, page, map):
map.settings["properties"]["onLoadPanel"] = "databrowser"
map.settings["properties"]["miniMap"] = True
map.settings["properties"]["captionBar"] = True
map.save()
# Make sure those controls are visible in normal view
page.goto(f"{live_server.url}{map.get_absolute_url()}")
expect(page.locator(".leaflet-control-minimap")).to_be_visible()
expect(page.locator(".umap-browser")).to_be_visible()
expect(page.locator(".umap-caption-bar")).to_be_visible()
expect(page.locator(".leaflet-control-zoom")).to_be_visible()
expect(page.locator(".leaflet-control-attribution")).to_be_visible()
# Now load home page to have the list view
page.goto(live_server.url)
map_el = page.locator(".map_fragment")
expect(map_el).to_be_visible()
expect(map_el.locator(".leaflet-control-minimap")).to_be_hidden()
expect(map_el.locator(".umap-browser")).to_be_hidden()
expect(map_el.locator(".umap-caption-bar")).to_be_hidden()
expect(map_el.locator(".leaflet-control-zoom")).to_be_hidden()
expect(map_el.locator(".leaflet-control-attribution")).to_be_hidden()