X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/31a39d3479462ced8127f0f12e3f0133ce39263a..005add9f491305d2625224e2efb4c6e17a5bd210:/test/system/site_test.rb diff --git a/test/system/site_test.rb b/test/system/site_test.rb index 6dd8550d1..d7b9f279e 100644 --- a/test/system/site_test.rb +++ b/test/system/site_test.rb @@ -38,17 +38,59 @@ class SiteTest < ApplicationSystemTestCase tooltip.assert_text "not available" end + test "tooltip shows for query button when zoomed in" do + visit "/#map=14/0/0" + + assert_no_selector ".tooltip" + button = find ".control-query .control-button" + button.hover + tooltip = find ".tooltip" + tooltip.assert_text "Query features" + tooltip.assert_no_text "Zoom in" + end + [ "#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=1/1/1" + visit "/#map=10/0/0" 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 "notes layer tooltip appears on zoom out" do + visit "/#map=9/40/-4" # depends on zoom levels where notes are allowed + + 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