Files
gitlabhq/features/steps/groups_management.rb

69 lines
1.9 KiB
Ruby

class Spinach::Features::GroupsManagement < Spinach::FeatureSteps
include SharedAuthentication
include SharedPaths
include SharedGroup
include SharedUser
include Select2Helper
step '"Open" is in group "Sourcing"' do
@group = Group.find_by(name: "Sourcing")
@project ||= create(:project, name: "Open", namespace: @group)
end
step '"Mary Jane" has master access for project "Open"' do
@user = User.find_by(name: "Mary Jane") || create(:user, name: "Mary Jane")
@project = Project.find_by(name: "Open")
@project.team << [@user, :master]
end
step "Group membership lock is enabled" do
@group = Group.find_by(name: "Sourcing")
@group.update_attributes(membership_lock: true)
end
step 'I go to "Open" project members page' do
click_link 'Sourcing / Open'
click_link 'Members'
end
step 'I can control user membership' do
expect(page).to have_button 'Add members'
expect(page).to have_link 'Import members'
expect(page).to have_selector '#project_member_access_level'
end
step 'I reload "Open" project members page' do
visit root_path
click_link 'Sourcing / Open'
page.within('.nav-sidebar') do
click_link 'Members'
end
end
step 'I go to group settings page' do
visit dashboard_groups_path
click_link 'Sourcing'
click_link 'Settings'
end
step 'I enable membership lock' do
check 'group_membership_lock'
click_button 'Save group'
end
step 'I go to project settings' do
@project = Project.find_by(name: "Open")
click_link 'Projects'
link = "/#{@project.path_with_namespace}/project_members"
find(:xpath, "//a[@href=\"#{link}\"]").click
end
step 'I cannot control user membership from project page' do
expect(page).not_to have_button 'Add members'
expect(page).not_to have_link 'Import members'
expect(page).to have_selector '#project_member_access_level'
end
end