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()
|
||||
expect(peerA.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