chore: more pw tests
This commit is contained in:
parent
9e3eef341e
commit
f8d08ea539
2 changed files with 52 additions and 0 deletions
|
@ -291,3 +291,43 @@ def test_should_use_color_variable(live_server, map, page):
|
||||||
expect(features.nth(1)).to_have_css("background-color", "rgb(139, 0, 0)")
|
expect(features.nth(1)).to_have_css("background-color", "rgb(139, 0, 0)")
|
||||||
# DarkBlue (default color)
|
# DarkBlue (default color)
|
||||||
expect(features.nth(2)).to_have_css("background-color", "rgb(0, 0, 139)")
|
expect(features.nth(2)).to_have_css("background-color", "rgb(0, 0, 139)")
|
||||||
|
|
||||||
|
|
||||||
|
def test_should_allow_to_toggle_datalayer_visibility(live_server, map, page, bootstrap):
|
||||||
|
page.goto(f"{live_server.url}{map.get_absolute_url()}")
|
||||||
|
markers = page.locator(".leaflet-marker-icon")
|
||||||
|
paths = page.locator(".leaflet-overlay-pane path")
|
||||||
|
expect(markers).to_have_count(1)
|
||||||
|
expect(paths).to_have_count(2)
|
||||||
|
toggle = page.locator('#umap-ui-container').get_by_title("Show/hide layer")
|
||||||
|
toggle.click()
|
||||||
|
expect(markers).to_have_count(0)
|
||||||
|
expect(paths).to_have_count(0)
|
||||||
|
|
||||||
|
|
||||||
|
def test_should_have_edit_buttons_in_edit_mode(live_server, map, page, bootstrap):
|
||||||
|
# Faster than doing a login
|
||||||
|
map.edit_status = Map.ANONYMOUS
|
||||||
|
map.save()
|
||||||
|
page.goto(f"{live_server.url}{map.get_absolute_url()}")
|
||||||
|
browser = page.locator('#umap-ui-container')
|
||||||
|
edit_layer = browser.get_by_title("Edit", exact=True)
|
||||||
|
in_table = browser.get_by_title("Edit properties in a table")
|
||||||
|
delete_layer = browser.get_by_title("Delete layer")
|
||||||
|
edit_feature = browser.get_by_title("Edit this feature")
|
||||||
|
delete_feature = browser.get_by_title("Delete this feature")
|
||||||
|
expect(edit_layer).to_be_hidden()
|
||||||
|
expect(in_table).to_be_hidden()
|
||||||
|
expect(delete_layer).to_be_hidden()
|
||||||
|
# Does not work
|
||||||
|
# to_have_count does not seem to case about the elements being visible or not
|
||||||
|
# and to_be_hidden is not happy if the selector resolve to more than on element
|
||||||
|
# expect(edit_feature).to_have_count(0)
|
||||||
|
# expect(delete_feature).to_be_hidden()
|
||||||
|
# Switch to edit mode
|
||||||
|
page.get_by_role("button", name="Edit").click()
|
||||||
|
expect(edit_layer).to_be_visible()
|
||||||
|
expect(in_table).to_be_visible()
|
||||||
|
expect(delete_layer).to_be_visible()
|
||||||
|
expect(edit_feature).to_have_count(3)
|
||||||
|
expect(delete_feature).to_have_count(3)
|
||||||
|
|
|
@ -134,6 +134,18 @@ def test_owner_has_delete_map_button(map, live_server, login):
|
||||||
advanced.click()
|
advanced.click()
|
||||||
delete = page.get_by_role("button", name="Delete", exact=True)
|
delete = page.get_by_role("button", name="Delete", exact=True)
|
||||||
expect(delete).to_be_visible()
|
expect(delete).to_be_visible()
|
||||||
|
dialog_shown = False
|
||||||
|
|
||||||
|
def handle_dialog(dialog):
|
||||||
|
dialog.accept()
|
||||||
|
nonlocal dialog_shown
|
||||||
|
dialog_shown = True
|
||||||
|
|
||||||
|
page.on("dialog", handle_dialog)
|
||||||
|
with page.expect_navigation():
|
||||||
|
delete.click()
|
||||||
|
assert dialog_shown
|
||||||
|
assert Map.objects.all().count() == 0
|
||||||
|
|
||||||
|
|
||||||
def test_editor_do_not_have_delete_map_button(map, live_server, login, user):
|
def test_editor_do_not_have_delete_map_button(map, live_server, login, user):
|
||||||
|
|
Loading…
Reference in a new issue