debian-mirror-gitlab/spec/support/helpers/features/invite_members_modal_helper.rb
2022-06-21 17:19:12 +05:30

78 lines
2 KiB
Ruby

# frozen_string_literal: true
module Spec
module Support
module Helpers
module Features
module InviteMembersModalHelper
def invite_member(names, role: 'Guest', expires_at: nil, refresh: true)
click_on 'Invite members'
page.within invite_modal_selector do
Array.wrap(names).each do |name|
find(member_dropdown_selector).set(name)
wait_for_requests
click_button name
end
choose_options(role, expires_at)
click_button 'Invite'
page.refresh if refresh
end
end
def invite_group(name, role: 'Guest', expires_at: nil)
click_on 'Invite a group'
click_on 'Select a group'
wait_for_requests
click_button name
choose_options(role, expires_at)
click_button 'Invite'
page.refresh
end
def choose_options(role, expires_at)
unless role == 'Guest'
click_button 'Guest'
wait_for_requests
click_button role
end
fill_in 'YYYY-MM-DD', with: expires_at.strftime('%Y-%m-%d') if expires_at
end
def click_groups_tab
expect(page).to have_link 'Groups'
click_link "Groups"
end
def group_dropdown_selector
'[data-testid="group-select-dropdown"]'
end
def member_dropdown_selector
'[data-testid="members-token-select-input"]'
end
def invite_modal_selector
'[data-testid="invite-modal"]'
end
def expect_to_have_group(group)
expect(page).to have_selector("[entity-id='#{group.id}']")
end
def expect_not_to_have_group(group)
expect(page).not_to have_selector("[entity-id='#{group.id}']")
end
end
end
end
end
end