mirror of
https://github.com/umap-project/umap.git
synced 2025-04-28 19:42:36 +02:00
wip: add test to make sure saving also save remote dirty datalayers
This commit is contained in:
parent
50f2c08ecb
commit
c933df585c
1 changed files with 40 additions and 0 deletions
|
@ -689,3 +689,43 @@ def test_should_sync_datalayer_clear(
|
||||||
peerA.get_by_role("button", name="Undo").click()
|
peerA.get_by_role("button", name="Undo").click()
|
||||||
expect(peerA.locator(".leaflet-marker-icon")).to_have_count(1)
|
expect(peerA.locator(".leaflet-marker-icon")).to_have_count(1)
|
||||||
expect(peerB.locator(".leaflet-marker-icon")).to_have_count(1)
|
expect(peerB.locator(".leaflet-marker-icon")).to_have_count(1)
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.xdist_group(name="websockets")
|
||||||
|
def test_should_save_remote_dirty_datalayers(new_page, asgi_live_server, tilelayer):
|
||||||
|
map = MapFactory(name="sync", edit_status=Map.ANONYMOUS)
|
||||||
|
map.settings["properties"]["syncEnabled"] = True
|
||||||
|
map.save()
|
||||||
|
|
||||||
|
assert not DataLayer.objects.count()
|
||||||
|
|
||||||
|
# Create two tabs
|
||||||
|
peerA = new_page("Page A")
|
||||||
|
peerA.goto(f"{asgi_live_server.url}{map.get_absolute_url()}?edit")
|
||||||
|
peerB = new_page("Page B")
|
||||||
|
peerB.goto(f"{asgi_live_server.url}{map.get_absolute_url()}?edit")
|
||||||
|
|
||||||
|
# Create a new layer from peerA
|
||||||
|
peerA.get_by_role("button", name="Manage layers").click()
|
||||||
|
peerA.get_by_role("button", name="Add a layer").click()
|
||||||
|
|
||||||
|
# Create a new layer from peerB
|
||||||
|
peerB.get_by_role("button", name="Manage layers").click()
|
||||||
|
peerB.get_by_role("button", name="Add a layer").click()
|
||||||
|
|
||||||
|
# Save from peerA to the server
|
||||||
|
counter = 0
|
||||||
|
|
||||||
|
def on_response(response):
|
||||||
|
nonlocal counter
|
||||||
|
if "/datalayer/create/" in response.url:
|
||||||
|
counter += 1
|
||||||
|
# Wait for the two datalayer saves
|
||||||
|
if counter == 2:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
with peerA.expect_response(on_response):
|
||||||
|
peerA.get_by_role("button", name="Save").click()
|
||||||
|
|
||||||
|
assert DataLayer.objects.count() == 2
|
||||||
|
|
Loading…
Reference in a new issue