summaryrefslogtreecommitdiff
path: root/qa/qa/page/group/show.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/page/group/show.rb')
-rw-r--r--qa/qa/page/group/show.rb52
1 files changed, 33 insertions, 19 deletions
diff --git a/qa/qa/page/group/show.rb b/qa/qa/page/group/show.rb
index f23294145dd..ac1fd9b5f90 100644
--- a/qa/qa/page/group/show.rb
+++ b/qa/qa/page/group/show.rb
@@ -2,12 +2,25 @@ module QA
module Page
module Group
class Show < Page::Base
- ##
- # TODO, define all selectors required by this page object
- #
- # See gitlab-org/gitlab-qa#154
- #
- view 'app/views/groups/show.html.haml'
+ view 'app/views/groups/show.html.haml' do
+ element :dropdown_toggle, '.dropdown-toggle'
+ element :new_project_subgroup, '.new-project-subgroup'
+
+ element :new_project_toggle,
+ /%li.+ data: { value: "new\-project"/
+ element :new_project_button,
+ /%input.+ data: { action: "new\-project"/
+
+ element :new_subgroup_toggle,
+ /%li.+ data: { value: "new\-subgroup"/
+ # TODO: input[data-action='new-subgroup'] seems to be handled by JS?
+ # See app/assets/javascripts/groups/new_group_child.js
+ end
+
+ view 'app/views/shared/groups/_search_form.html.haml' do
+ element :filter_by_name,
+ "placeholder: s_('GroupsTree|Filter by name...')"
+ end
def go_to_subgroup(name)
click_link name
@@ -24,31 +37,32 @@ module QA
end
def go_to_new_subgroup
- within '.new-project-subgroup' do
- # May need to click again because it is possible to click the button quicker than the JS is bound
- wait(reload: false) do
- find('.dropdown-toggle').click
-
- page.has_css?("li[data-value='new-subgroup']")
- end
- find("li[data-value='new-subgroup']").click
- end
+ click_new('subgroup')
find("input[data-action='new-subgroup']").click
end
def go_to_new_project
+ click_new('project')
+
+ find("input[data-action='new-project']").click
+ end
+
+ private
+
+ def click_new(kind)
within '.new-project-subgroup' do
+ css = "li[data-value='new-#{kind}']"
+
# May need to click again because it is possible to click the button quicker than the JS is bound
wait(reload: false) do
find('.dropdown-toggle').click
- page.has_css?("li[data-value='new-project']")
+ page.has_css?(css)
end
- find("li[data-value='new-project']").click
- end
- find("input[data-action='new-project']").click
+ find(css).click
+ end
end
end
end