diff options
author | Nihad Abbasov <narkoz.2008@gmail.com> | 2012-11-29 11:33:41 -0800 |
---|---|---|
committer | Nihad Abbasov <narkoz.2008@gmail.com> | 2012-11-29 12:11:00 -0800 |
commit | 1c5aa848ce6141b8679e167171096055dc7f4df3 (patch) | |
tree | f6069d78b1b2bf2372df1ad8b24bc44063ac3dda | |
parent | 9a4974b7603c4df4b9b78970fb96e185ba97c250 (diff) | |
download | gitlab-ce-1c5aa848ce6141b8679e167171096055dc7f4df3.tar.gz |
API: get a single note
-rw-r--r-- | lib/api/notes.rb | 15 | ||||
-rw-r--r-- | spec/requests/api/notes_spec.rb | 22 |
2 files changed, 35 insertions, 2 deletions
diff --git a/lib/api/notes.rb b/lib/api/notes.rb index 9b39ff4c88f..84b6beb5c71 100644 --- a/lib/api/notes.rb +++ b/lib/api/notes.rb @@ -33,6 +33,21 @@ module Gitlab @noteable = user_project.send(:"#{noteables_str}").find(params[:"#{noteable_id_str}"]) present paginate(@noteable.notes), with: Entities::Note end + + # Get a single +noteable+ note + # + # Parameters: + # id (required) - The ID or code name of a project + # noteable_id (required) - The ID of an issue or snippet + # note_id (required) - The ID of a note + # Example Request: + # GET /projects/:id/issues/:noteable_id/notes/:note_id + # GET /projects/:id/snippets/:noteable_id/notes/:note_id + get ":id/#{noteables_str}/:#{noteable_id_str}/notes/:note_id" do + @noteable = user_project.send(:"#{noteables_str}").find(params[:"#{noteable_id_str}"]) + @note = @noteable.notes.find(params[:note_id]) + present @note, with: Entities::Note + end end end end diff --git a/spec/requests/api/notes_spec.rb b/spec/requests/api/notes_spec.rb index 1d42921f00c..175d405848b 100644 --- a/spec/requests/api/notes_spec.rb +++ b/spec/requests/api/notes_spec.rb @@ -32,7 +32,7 @@ describe Gitlab::API do describe "GET /projects/:id/noteable/:noteable_id/notes" do context "when noteable is an Issue" do - it "should return an array of notes" do + it "should return an array of issue notes" do get api("/projects/#{project.id}/issues/#{issue.id}/notes", user) response.status.should == 200 json_response.should be_an Array @@ -41,7 +41,7 @@ describe Gitlab::API do end context "when noteable is a Snippet" do - it "should return an array of notes" do + it "should return an array of snippet notes" do get api("/projects/#{project.id}/snippets/#{snippet.id}/notes", user) response.status.should == 200 json_response.should be_an Array @@ -49,4 +49,22 @@ describe Gitlab::API do end end end + + describe "GET /projects/:id/noteable/:noteable_id/notes/:note_id" do + context "when noteable is an Issue" do + it "should return an issue note by id" do + get api("/projects/#{project.id}/issues/#{issue.id}/notes/#{issue_note.id}", user) + response.status.should == 200 + json_response['body'].should == issue_note.note + end + end + + context "when noteable is a Snippet" do + it "should return a snippet note by id" do + get api("/projects/#{project.id}/snippets/#{snippet.id}/notes/#{snippet_note.id}", user) + response.status.should == 200 + json_response['body'].should == snippet_note.note + end + end + end end |