X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/68776e378c01f3b09b07ec7c402fbf6517740c5f..353431363d84ff6386d06fd9216907cdc8307d26:/test/system/site_test.rb diff --git a/test/system/site_test.rb b/test/system/site_test.rb index a08f7f344..d7b9f279e 100644 --- a/test/system/site_test.rb +++ b/test/system/site_test.rb @@ -49,23 +49,48 @@ class SiteTest < ApplicationSystemTestCase tooltip.assert_no_text "Zoom in" end - test "tooltip shows for query button when zoomed out" do - visit "/#map=10/0/0" + [ + "#edit_tab", + ".control-note .control-button", + ".control-query .control-button" + ].each do |selector| + test "tooltips on low zoom levels for disabled control '#{selector}'" do + visit "/#map=10/0/0" - assert_no_selector ".tooltip" - button = find ".control-query .control-button" - button.hover - tooltip = find ".tooltip" - tooltip.assert_text "Zoom in to query features" + assert_no_selector ".tooltip" + find(selector).hover + assert_selector ".tooltip", :text => "Zoom in" + end + + test "no zoom-in tooltips on high zoom levels, then tooltips appear after zoom out for control '#{selector}'" do + visit "/#map=14/0/0" + + assert_no_selector ".tooltip" + find(selector).hover + assert_no_selector ".tooltip", :text => "Zoom in" + find("h1").hover # un-hover original element + + visit "#map=10/0/0" + find("#{selector}.disabled") # Ensure that capybara has waited for JS to finish processing + + assert_no_selector ".tooltip" + find(selector).hover + assert_selector ".tooltip", :text => "Zoom in" + end end - test "tooltip shows for edit button when zoomed out" do - visit "/#map=11/0/0" + test "notes layer tooltip appears on zoom out" do + visit "/#map=9/40/-4" # depends on zoom levels where notes are allowed - assert_no_selector ".tooltip" - button = find "#edit_tab" - button.hover - tooltip = find ".tooltip" - tooltip.assert_text "Zoom in to edit the map" + find(".control-layers .control-button").click + li = find(".layers-ui .overlay-layers li:first-child") + li.not_matches_css? ".disabled" + li.hover # try to trigger disabled tooltip + zoomout = find(".control-button.zoomout") + zoomout.hover # un-hover the tooltip that's being tested + zoomout.click + li.matches_css? ".disabled" + li.hover + assert_selector ".tooltip", :text => "Zoom in" end end