summaryrefslogtreecommitdiff
path: root/spec/controllers/projects/project_members_controller_spec.rb
diff options
context:
space:
mode:
authorRubén Dávila <ruben@gitlab.com>2017-12-11 09:53:31 -0500
committerRubén Dávila <ruben@gitlab.com>2017-12-11 09:53:31 -0500
commit429302b34c5d66bd79f49284964cfc21db794ba7 (patch)
tree586f615c6b70b46b81eee51339ad358a427ef429 /spec/controllers/projects/project_members_controller_spec.rb
parent806a68a81f1baeed07c146b1b5d9eb77796c46ba (diff)
downloadgitlab-ce-429302b34c5d66bd79f49284964cfc21db794ba7.tar.gz
Bugfix: User can't change the access level of an access requester
The endpoint was returning 404 because it was only searching on the current members of a Group or Project and not the access requesters.
Diffstat (limited to 'spec/controllers/projects/project_members_controller_spec.rb')
-rw-r--r--spec/controllers/projects/project_members_controller_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/controllers/projects/project_members_controller_spec.rb b/spec/controllers/projects/project_members_controller_spec.rb
index a34dc27a5ed..290dba0610a 100644
--- a/spec/controllers/projects/project_members_controller_spec.rb
+++ b/spec/controllers/projects/project_members_controller_spec.rb
@@ -66,6 +66,26 @@ describe Projects::ProjectMembersController do
end
end
+ describe 'PUT update' do
+ let(:requester) { create(:project_member, :access_request, project: project) }
+
+ before do
+ project.add_master(user)
+ sign_in(user)
+ end
+
+ Gitlab::Access.options.each do |label, value|
+ it "can change the access level to #{label}" do
+ xhr :put, :update, project_member: { access_level: value },
+ namespace_id: project.namespace,
+ project_id: project,
+ id: requester
+
+ expect(requester.reload.human_access).to eq(label)
+ end
+ end
+ end
+
describe 'DELETE destroy' do
let(:member) { create(:project_member, :developer, project: project) }