summaryrefslogtreecommitdiff
path: root/qa/qa/page/admin/menu.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/page/admin/menu.rb')
-rw-r--r--qa/qa/page/admin/menu.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/qa/qa/page/admin/menu.rb b/qa/qa/page/admin/menu.rb
new file mode 100644
index 00000000000..e8c7d274966
--- /dev/null
+++ b/qa/qa/page/admin/menu.rb
@@ -0,0 +1,47 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module Admin
+ class Menu < Page::Base
+ view 'app/views/layouts/nav/sidebar/_admin.html.haml' do
+ element :admin_sidebar
+ element :admin_sidebar_submenu
+ element :admin_settings_item
+ element :admin_settings_repository_item
+ end
+
+ def go_to_repository_settings
+ hover_settings do
+ within_submenu do
+ click_element :admin_settings_repository_item
+ end
+ end
+ end
+
+ private
+
+ def hover_settings
+ within_sidebar do
+ scroll_to_element(:admin_settings_item)
+ find_element(:admin_settings_item).hover
+
+ yield
+ end
+ end
+
+ def within_sidebar
+ within_element(:admin_sidebar) do
+ yield
+ end
+ end
+
+ def within_submenu
+ within_element(:admin_sidebar_submenu) do
+ yield
+ end
+ end
+ end
+ end
+ end
+end