Commit 44aa6b90ddde3a7babc6ed9f50d73040d6184789
1 parent
fb919a63
Exists in
spb-stable
and in
3 other branches
added api method to return labels of a given project
Showing
3 changed files
with
39 additions
and
0 deletions
Show diff stats
lib/api/entities.rb
lib/api/projects.rb
@@ -215,6 +215,15 @@ module API | @@ -215,6 +215,15 @@ module API | ||
215 | @users = paginate @users | 215 | @users = paginate @users |
216 | present @users, with: Entities::User | 216 | present @users, with: Entities::User |
217 | end | 217 | end |
218 | + | ||
219 | + # Get a labels list | ||
220 | + # | ||
221 | + # Example Request: | ||
222 | + # GET /users | ||
223 | + get ':id/labels' do | ||
224 | + @labels = user_project.issues_labels | ||
225 | + present @labels, with: Entities::Label | ||
226 | + end | ||
218 | end | 227 | end |
219 | end | 228 | end |
220 | end | 229 | end |
@@ -0,0 +1,26 @@ | @@ -0,0 +1,26 @@ | ||
1 | +require 'spec_helper' | ||
2 | + | ||
3 | +describe API::API do | ||
4 | + include ApiHelpers | ||
5 | + before(:each) { ActiveRecord::Base.observers.enable(:user_observer) } | ||
6 | + after(:each) { ActiveRecord::Base.observers.disable(:user_observer) } | ||
7 | + | ||
8 | + let(:user) { create(:user) } | ||
9 | + let!(:project) { create(:project, namespace: user.namespace ) } | ||
10 | + let!(:issue) { create(:issue, author: user, assignee: user, project: project, :label_list => "label1, label2") } | ||
11 | + before { project.team << [user, :reporter] } | ||
12 | + | ||
13 | + | ||
14 | + describe "GET /projects/:id/labels" do | ||
15 | + it "should return project labels" do | ||
16 | + get api("/projects/#{project.id}/labels", user) | ||
17 | + response.status.should == 200 | ||
18 | + json_response.should be_an Array | ||
19 | + json_response.first['name'].should == 'label1' | ||
20 | + json_response.last['name'].should == 'label2' | ||
21 | + end | ||
22 | + end | ||
23 | + | ||
24 | + | ||
25 | +end | ||
26 | + |