From a96a3e1a10f3ef6ab37a0987a454924a5ca26958 Mon Sep 17 00:00:00 2001 From: Victor Rodrigues Date: Sat, 10 Dec 2022 15:47:50 +1100 Subject: [PATCH] Added deactivate_user and activate_user methods introduced in GitLab 12.4. --- lib/gitlab/client/users.rb | 22 ++++++++++++++++++++++ spec/gitlab/client/users_spec.rb | 30 ++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/lib/gitlab/client/users.rb b/lib/gitlab/client/users.rb index 917f26285..31dd23886 100644 --- a/lib/gitlab/client/users.rb +++ b/lib/gitlab/client/users.rb @@ -110,6 +110,28 @@ def unblock_user(user_id) post("/users/#{user_id}/unblock") end + # Deactivates the specified user. Available only for admin. + # + # @example + # Gitlab.deactivate_user(15) + # + # @param [Integer] user_id The Id of user + # @return [Boolean] success or not + def deactivate_user(user_id) + post("/users/#{user_id}/deactivate") + end + + # Activate the specified user. Available only for admin. + # + # @example + # Gitlab.activate_user(15) + # + # @param [Integer] user_id The Id of user + # @return [Boolean] success or not + def activate_user(user_id) + post("/users/#{user_id}/activate") + end + # Approves the specified user. Available only for admin. # # @example diff --git a/spec/gitlab/client/users_spec.rb b/spec/gitlab/client/users_spec.rb index 63fe7a6fc..0af74f24c 100644 --- a/spec/gitlab/client/users_spec.rb +++ b/spec/gitlab/client/users_spec.rb @@ -170,6 +170,36 @@ end end + describe '.deactivate_user' do + before do + stub_post('/users/1/deactivate', 'user_deactivate_activate') + @result = Gitlab.deactivate_user(1) + end + + it 'gets the correct resource' do + expect(a_post('/users/1/deactivate')).to have_been_made + end + + it 'returns boolean' do + expect(@result).to eq(true) + end + end + + describe '.activate' do + before do + stub_post('/users/1/activate', 'user_deactivate_activate') + @result = Gitlab.activate(1) + end + + it 'gets the correct resource' do + expect(a_post('/users/1/activate')).to have_been_made + end + + it 'returns boolean' do + expect(@result).to eq(true) + end + end + describe '.approve_user' do before do stub_post('/users/1/approve', 'user_approve')