summaryrefslogtreecommitdiff
path: root/spec/controllers/projects
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2016-10-21 12:51:44 +0000
committerSean McGivern <sean@mcgivern.me.uk>2016-10-21 12:51:44 +0000
commit6c09fbd889a2259f8e2db1927c4e0a3d4cdb01b4 (patch)
treed14b2910c41bb7cef16f1b07fc623b77bd75da67 /spec/controllers/projects
parent1e66061b1ec5fb11457abca0845c13551afa8258 (diff)
parent168197cd5a179c961301225626ac1a175f892782 (diff)
downloadgitlab-ce-6c09fbd889a2259f8e2db1927c4e0a3d4cdb01b4.tar.gz
Merge branch 'fix_project_member_access_levels' into 'master'
Fix project member access levels Migrate invalid project members (owner -> master) Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/18616 See merge request !6957
Diffstat (limited to 'spec/controllers/projects')
-rw-r--r--spec/controllers/projects/project_members_controller_spec.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/controllers/projects/project_members_controller_spec.rb b/spec/controllers/projects/project_members_controller_spec.rb
index 8519ebc1d5f..5e487241d07 100644
--- a/spec/controllers/projects/project_members_controller_spec.rb
+++ b/spec/controllers/projects/project_members_controller_spec.rb
@@ -228,4 +228,40 @@ describe Projects::ProjectMembersController do
end
end
end
+
+ describe 'POST create' do
+ let(:stranger) { create(:user) }
+
+ context 'when creating owner' do
+ before do
+ project.team << [user, :master]
+ sign_in(user)
+ end
+
+ it 'does not create a member' do
+ expect do
+ post :create, user_ids: stranger.id,
+ namespace_id: project.namespace,
+ access_level: Member::OWNER,
+ project_id: project
+ end.to change { project.members.count }.by(0)
+ end
+ end
+
+ context 'when create master' do
+ before do
+ project.team << [user, :master]
+ sign_in(user)
+ end
+
+ it 'creates a member' do
+ expect do
+ post :create, user_ids: stranger.id,
+ namespace_id: project.namespace,
+ access_level: Member::MASTER,
+ project_id: project
+ end.to change { project.members.count }.by(1)
+ end
+ end
+ end
end