Skip to content

Commit e199cde

Browse files
committed
Implement .remove in default_reviewers
1 parent 5505ace commit e199cde

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

lib/bitbucket_rest_api/repos/default_reviewers.rb

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ def list(user_name, repo_name, params={})
1919
end
2020
alias :all :list
2121

22+
# Get a default reviewer's info
23+
#
24+
# = Examples
25+
# bitbucket = BitBucket.new
26+
# bitbucket.repos.default_reviewers.get 'user-name', 'repo-name', 'reviewer-username'
27+
#
2228
def get(user_name, repo_name, reviewer_username, params={})
2329
_update_user_repo_params(user_name, repo_name)
2430
_validate_user_repo_params(user, repo) unless user? && repo?
@@ -27,6 +33,12 @@ def get(user_name, repo_name, reviewer_username, params={})
2733
get_request("/2.0/repositories/#{user_name}/#{repo_name}/default-reviewers/#{reviewer_username}", params)
2834
end
2935

36+
# Add a user to the default-reviewers list for the repo
37+
#
38+
# = Examples
39+
# bitbucket = BitBucket.new
40+
# bitbucket.repos.default_reviewers.add 'user-name', 'repo-name', 'reviewer-username'
41+
#
3042
def add(user_name, repo_name, reviewer_username, params={})
3143
_update_user_repo_params(user_name, repo_name)
3244
_validate_user_repo_params(user, repo) unless user? && repo?
@@ -35,5 +47,18 @@ def add(user_name, repo_name, reviewer_username, params={})
3547
put_request("/2.0/repositories/#{user_name}/#{repo_name}/default-reviewers/#{reviewer_username}", params)
3648
end
3749

50+
# Remove a user from the default-reviewers list for the repo
51+
#
52+
# = Examples
53+
# bitbucket = BitBucket.new
54+
# bitbucket.repos.default_reviewers.remove 'user-name', 'repo-name', 'reviewer-username'
55+
#
56+
def remove(user_name, repo_name, reviewer_username, params={})
57+
_update_user_repo_params(user_name, repo_name)
58+
_validate_user_repo_params(user, repo) unless user? && repo?
59+
normalize! params
60+
61+
delete_request("/2.0/repositories/#{user_name}/#{repo_name}/default-reviewers/#{reviewer_username}", params)
62+
end
3863
end
3964
end

spec/bitbucket_rest_api/repos/default_reviewers_spec.rb

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,19 @@
4646
subject.add('mock_user', 'mock_repo', 'mock_reviewer')
4747
end
4848
end
49+
50+
describe '#remove' do
51+
before do
52+
expect(subject).to receive(:request).with(
53+
:delete,
54+
'/2.0/repositories/mock_user/mock_repo/default-reviewers/mock_reviewer',
55+
{},
56+
{}
57+
)
58+
end
59+
60+
it 'makes a GET request for all pull requests belonging to the repo' do
61+
subject.remove('mock_user', 'mock_repo', 'mock_reviewer')
62+
end
63+
end
4964
end

0 commit comments

Comments
 (0)