Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-04-21 02:50:22 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-04-21 02:50:22 +0300
commit9dc93a4519d9d5d7be48ff274127136236a3adb3 (patch)
tree70467ae3692a0e35e5ea56bcb803eb512a10bedb /spec/requests/api/members_spec.rb
parent4b0f34b6d759d6299322b3a54453e930c6121ff0 (diff)
Add latest changes from gitlab-org/gitlab@13-11-stable-eev13.11.0-rc43
Diffstat (limited to 'spec/requests/api/members_spec.rb')
-rw-r--r--spec/requests/api/members_spec.rb30
1 files changed, 29 insertions, 1 deletions
diff --git a/spec/requests/api/members_spec.rb b/spec/requests/api/members_spec.rb
index 919c8d29406..d488aee0c10 100644
--- a/spec/requests/api/members_spec.rb
+++ b/spec/requests/api/members_spec.rb
@@ -273,7 +273,7 @@ RSpec.describe API::Members do
user_ids = [stranger.id, access_requester.id].join(',')
allow_next_instance_of(::Members::CreateService) do |service|
- expect(service).to receive(:execute).with(source).and_return({ status: :error, message: error_message })
+ expect(service).to receive(:execute).and_return({ status: :error, message: error_message })
end
expect do
@@ -555,6 +555,34 @@ RSpec.describe API::Members do
end
end
+ describe 'DELETE /groups/:id/members/:user_id' do
+ let(:other_user) { create(:user) }
+ let(:nested_group) { create(:group, parent: group) }
+
+ before do
+ nested_group.add_developer(developer)
+ nested_group.add_developer(other_user)
+ end
+
+ it 'deletes only the member with skip_subresources=true' do
+ expect do
+ delete api("/groups/#{group.id}/members/#{developer.id}", maintainer), params: { skip_subresources: true }
+
+ expect(response).to have_gitlab_http_status(:no_content)
+ end.to change { group.members.count }.by(-1)
+ .and change { nested_group.members.count }.by(0)
+ end
+
+ it 'deletes member and its sub memberships with skip_subresources=false' do
+ expect do
+ delete api("/groups/#{group.id}/members/#{developer.id}", maintainer), params: { skip_subresources: false }
+
+ expect(response).to have_gitlab_http_status(:no_content)
+ end.to change { group.members.count }.by(-1)
+ .and change { nested_group.members.count }.by(-1)
+ end
+ end
+
[false, true].each do |all|
it_behaves_like 'GET /:source_type/:id/members/(all)', 'project', all do
let(:source) { project }