diff options
Diffstat (limited to 'qa/qa/page/group/sub_menus/members.rb')
-rw-r--r-- | qa/qa/page/group/sub_menus/members.rb | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/qa/qa/page/group/sub_menus/members.rb b/qa/qa/page/group/sub_menus/members.rb new file mode 100644 index 00000000000..c8b3f5bb422 --- /dev/null +++ b/qa/qa/page/group/sub_menus/members.rb @@ -0,0 +1,48 @@ +# frozen_string_literal: true + +module QA + module Page + module Group + module SubMenus + class Members < Page::Base + include Page::Component::UsersSelect + + view 'app/views/groups/group_members/_new_group_member.html.haml' do + element :add_to_group_button + end + + view 'app/helpers/groups/group_members_helper.rb' do + element :member_select_field + end + + view 'app/views/shared/members/_member.html.haml' do + element :member_row + element :access_level_dropdown + element :delete_member_button + element :developer_access_level_link, 'qa_selector: "#{role.downcase}_access_level_link"' # rubocop:disable QA/ElementWithPattern, Lint/InterpolationCheck + end + + def add_member(username) + select_user :member_select_field, username + click_element :add_to_group_button + end + + def update_access_level(username, access_level) + within_element(:member_row, text: username) do + click_element :access_level_dropdown + click_element "#{access_level.downcase}_access_level_link" + end + end + + def remove_member(username) + page.accept_confirm do + within_element(:member_row, text: username) do + click_element :delete_member_button + end + end + end + end + end + end + end +end |