Merge pull request #1987 from umap-project/fix-fromtozoom-tests

try to fix toZoom and fromZoom randomly failing tests
This commit is contained in:
Yohan Boniface 2024-07-11 16:34:03 +02:00 committed by GitHub
commit bf08536c30
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 4 deletions

View file

@ -26,6 +26,13 @@ def mock_osm_tiles(page):
page.route("*/**/osmfr/**", lambda route: route.fulfill()) page.route("*/**/osmfr/**", lambda route: route.fulfill())
@pytest.fixture
def page(context):
page = context.new_page()
page.on("console", lambda msg: print(msg.text) if msg.type != "warning" else None)
return page
@pytest.fixture @pytest.fixture
def login(context, settings, live_server): def login(context, settings, live_server):
def do_login(user): def do_login(user):

View file

@ -1,4 +1,5 @@
import json import json
import re
import pytest import pytest
from django.core.files.base import ContentFile from django.core.files.base import ContentFile
@ -41,13 +42,15 @@ def test_should_honour_fromZoom(live_server, map, datalayer, page):
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(markers).to_be_hidden() expect(markers).to_be_hidden()
page.goto(f"{live_server.url}{map.get_absolute_url()}#6/48.55/14.68") page.goto(f"{live_server.url}{map.get_absolute_url()}#6/48.55/14.68")
page.wait_for_timeout(500) expect(page).to_have_url(re.compile(r".*#6/48\..+/14\..+"))
expect(markers).to_be_visible() expect(markers).to_be_visible()
page.get_by_label("Zoom out").click() page.get_by_label("Zoom out").click()
expect(markers).to_be_hidden() expect(markers).to_be_hidden()
page.get_by_label("Zoom in").click() page.get_by_label("Zoom in").click()
expect(page).to_have_url(re.compile(r".*#6/48\..+/14\..+"))
expect(markers).to_be_visible() expect(markers).to_be_visible()
page.get_by_label("Zoom in").click() page.get_by_label("Zoom in").click()
expect(page).to_have_url(re.compile(r".*#7/48\..+/14\..+"))
expect(markers).to_be_visible() expect(markers).to_be_visible()
@ -57,15 +60,17 @@ def test_should_honour_toZoom(live_server, map, datalayer, page):
markers = page.locator(".leaflet-marker-icon") markers = page.locator(".leaflet-marker-icon")
expect(markers).to_be_hidden() expect(markers).to_be_hidden()
page.goto(f"{live_server.url}{map.get_absolute_url()}#6/48.55/14.68") page.goto(f"{live_server.url}{map.get_absolute_url()}#6/48.55/14.68")
expect(page).to_have_url(re.compile(r".*#6/48\..+/14\..+"))
expect(markers).to_be_visible() expect(markers).to_be_visible()
page.get_by_label("Zoom out").click() page.get_by_label("Zoom out").click()
expect(page).to_have_url(re.compile(r".*#5/48\..+/14\..+"))
expect(markers).to_be_visible() expect(markers).to_be_visible()
page.get_by_label("Zoom in").click() page.get_by_label("Zoom in").click()
expect(page).to_have_url(re.compile(r".*#6/48\..+/14\..+"))
expect(markers).to_be_visible() expect(markers).to_be_visible()
page.get_by_label("Zoom in").click() page.get_by_label("Zoom in").click()
# FIXME does not work (but works when using PWDEBUG=1), not sure why expect(page).to_have_url(re.compile(r".*#7/48\..+/14\..+"))
# may be a race condition related to css transition expect(markers).to_be_hidden()
# expect(markers).to_be_hidden()
def test_should_honour_color_variable(live_server, map, page): def test_should_honour_color_variable(live_server, map, page):