API: create new notes
This commit is contained in:
parent
1c5aa848ce
commit
c946bf886c
2 changed files with 42 additions and 0 deletions
|
@ -48,6 +48,28 @@ module Gitlab
|
||||||
@note = @noteable.notes.find(params[:note_id])
|
@note = @noteable.notes.find(params[:note_id])
|
||||||
present @note, with: Entities::Note
|
present @note, with: Entities::Note
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Create a new +noteable+ note
|
||||||
|
#
|
||||||
|
# Parameters:
|
||||||
|
# id (required) - The ID or code name of a project
|
||||||
|
# noteable_id (required) - The ID of an issue or snippet
|
||||||
|
# body (required) - The content of a note
|
||||||
|
# Example Request:
|
||||||
|
# POST /projects/:id/issues/:noteable_id/notes
|
||||||
|
# POST /projects/:id/snippets/:noteable_id/notes
|
||||||
|
post ":id/#{noteables_str}/:#{noteable_id_str}/notes" do
|
||||||
|
@noteable = user_project.send(:"#{noteables_str}").find(params[:"#{noteable_id_str}"])
|
||||||
|
@note = @noteable.notes.new(note: params[:body])
|
||||||
|
@note.author = current_user
|
||||||
|
@note.project = user_project
|
||||||
|
|
||||||
|
if @note.save
|
||||||
|
present @note, with: Entities::Note
|
||||||
|
else
|
||||||
|
not_found!
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -67,4 +67,24 @@ describe Gitlab::API do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "POST /projects/:id/noteable/:noteable_id/notes" do
|
||||||
|
context "when noteable is an Issue" do
|
||||||
|
it "should create a new issue note" do
|
||||||
|
post api("/projects/#{project.id}/issues/#{issue.id}/notes", user), body: 'hi!'
|
||||||
|
response.status.should == 201
|
||||||
|
json_response['body'].should == 'hi!'
|
||||||
|
json_response['author']['email'].should == user.email
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when noteable is a Snippet" do
|
||||||
|
it "should create a new snippet note" do
|
||||||
|
post api("/projects/#{project.id}/snippets/#{snippet.id}/notes", user), body: 'hi!'
|
||||||
|
response.status.should == 201
|
||||||
|
json_response['body'].should == 'hi!'
|
||||||
|
json_response['author']['email'].should == user.email
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue