diff options
Diffstat (limited to 'qa/qa/page/project/members.rb')
-rw-r--r-- | qa/qa/page/project/members.rb | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/qa/qa/page/project/members.rb b/qa/qa/page/project/members.rb new file mode 100644 index 00000000000..88b05ceb1d1 --- /dev/null +++ b/qa/qa/page/project/members.rb @@ -0,0 +1,60 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + class Members < Page::Base + include QA::Page::Component::Select2 + + view 'app/views/shared/members/_invite_member.html.haml' do + element :member_select_field + element :invite_member_button + end + + view 'app/views/projects/project_members/_team.html.haml' do + element :members_list + end + + view 'app/views/projects/project_members/index.html.haml' do + element :invite_group_tab + end + + view 'app/views/shared/members/_invite_group.html.haml' do + element :group_select_field + element :invite_group_button + end + + view 'app/views/shared/members/_group.html.haml' do + element :group_row + element :delete_group_access_link + end + + def select_group(group_name) + click_element :group_select_field + search_and_select(group_name) + end + + def invite_group(group_name) + click_element :invite_group_tab + select_group(group_name) + click_element :invite_group_button + end + + def add_member(username) + click_element :member_select_field + search_and_select username + click_element :invite_member_button + end + + def remove_group(group_name) + click_element :invite_group_tab + page.accept_alert do + within_element(:group_row, text: group_name) do + click_element :delete_group_access_link + end + end + end + end + end + end +end |