mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-10 13:16:09 +10:00
69 lines
1.9 KiB
Ruby
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
|