Merge branch 'fix_labels_api_adding_missing_parameter' into 'master'
fix labels API adding missing parameter (current_user) See merge request !7458
This commit is contained in:
commit
1263708d81
3 changed files with 51 additions and 9 deletions
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
title: Fix labels API by adding missing current_user parameter
|
||||
merge_request: 7458
|
||||
author: Francesco Coda Zabetta
|
|
@ -437,7 +437,18 @@ module API
|
|||
end
|
||||
|
||||
class Label < LabelBasic
|
||||
expose :open_issues_count, :closed_issues_count, :open_merge_requests_count
|
||||
expose :open_issues_count do |label, options|
|
||||
label.open_issues_count(options[:current_user])
|
||||
end
|
||||
|
||||
expose :closed_issues_count do |label, options|
|
||||
label.closed_issues_count(options[:current_user])
|
||||
end
|
||||
|
||||
expose :open_merge_requests_count do |label, options|
|
||||
label.open_merge_requests_count(options[:current_user])
|
||||
end
|
||||
|
||||
expose :priority do |label, options|
|
||||
label.priority(options[:project])
|
||||
end
|
||||
|
|
|
@ -17,6 +17,10 @@ describe API::API, api: true do
|
|||
group = create(:group)
|
||||
group_label = create(:group_label, title: 'feature', group: group)
|
||||
project.update(group: group)
|
||||
create(:labeled_issue, project: project, labels: [group_label], author: user)
|
||||
create(:labeled_issue, project: project, labels: [label1], author: user, state: :closed)
|
||||
create(:labeled_merge_request, labels: [priority_label], author: user, source_project: project )
|
||||
|
||||
expected_keys = [
|
||||
'id', 'name', 'color', 'description',
|
||||
'open_issues_count', 'closed_issues_count', 'open_merge_requests_count',
|
||||
|
@ -30,14 +34,37 @@ describe API::API, api: true do
|
|||
expect(json_response.size).to eq(3)
|
||||
expect(json_response.first.keys).to match_array expected_keys
|
||||
expect(json_response.map { |l| l['name'] }).to match_array([group_label.name, priority_label.name, label1.name])
|
||||
expect(json_response.last['name']).to eq(label1.name)
|
||||
expect(json_response.last['color']).to be_present
|
||||
expect(json_response.last['description']).to be_nil
|
||||
expect(json_response.last['open_issues_count']).to eq(0)
|
||||
expect(json_response.last['closed_issues_count']).to eq(0)
|
||||
expect(json_response.last['open_merge_requests_count']).to eq(0)
|
||||
expect(json_response.last['priority']).to be_nil
|
||||
expect(json_response.last['subscribed']).to be_falsey
|
||||
|
||||
label1_response = json_response.find { |l| l['name'] == label1.title }
|
||||
group_label_response = json_response.find { |l| l['name'] == group_label.title }
|
||||
priority_label_response = json_response.find { |l| l['name'] == priority_label.title }
|
||||
|
||||
expect(label1_response['open_issues_count']).to eq(0)
|
||||
expect(label1_response['closed_issues_count']).to eq(1)
|
||||
expect(label1_response['open_merge_requests_count']).to eq(0)
|
||||
expect(label1_response['name']).to eq(label1.name)
|
||||
expect(label1_response['color']).to be_present
|
||||
expect(label1_response['description']).to be_nil
|
||||
expect(label1_response['priority']).to be_nil
|
||||
expect(label1_response['subscribed']).to be_falsey
|
||||
|
||||
expect(group_label_response['open_issues_count']).to eq(1)
|
||||
expect(group_label_response['closed_issues_count']).to eq(0)
|
||||
expect(group_label_response['open_merge_requests_count']).to eq(0)
|
||||
expect(group_label_response['name']).to eq(group_label.name)
|
||||
expect(group_label_response['color']).to be_present
|
||||
expect(group_label_response['description']).to be_nil
|
||||
expect(group_label_response['priority']).to be_nil
|
||||
expect(group_label_response['subscribed']).to be_falsey
|
||||
|
||||
expect(priority_label_response['open_issues_count']).to eq(0)
|
||||
expect(priority_label_response['closed_issues_count']).to eq(0)
|
||||
expect(priority_label_response['open_merge_requests_count']).to eq(1)
|
||||
expect(priority_label_response['name']).to eq(priority_label.name)
|
||||
expect(priority_label_response['color']).to be_present
|
||||
expect(priority_label_response['description']).to be_nil
|
||||
expect(priority_label_response['priority']).to eq(3)
|
||||
expect(priority_label_response['subscribed']).to be_falsey
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue