Status code 400 is returned if body is missing on note creation.
If a note is created with a POST request via API (`/projects/:id/notes`) status code 400 is returned instead of 404. The resource itself exists but the request is incomplete. Specs added to check different status codes when accessing, creating and updating notes.
This commit is contained in:
parent
b9d40d2524
commit
bb24275f8d
|
@ -43,6 +43,8 @@ module Gitlab
|
|||
if @note.save
|
||||
present @note, with: Entities::Note
|
||||
else
|
||||
# :note is exposed as :body, but :note is set on error
|
||||
error!(@note.errors[:note], 400) if @note.errors[:note].any?
|
||||
not_found!
|
||||
end
|
||||
end
|
||||
|
|
|
@ -36,6 +36,11 @@ describe Gitlab::API do
|
|||
response.status.should == 200
|
||||
json_response['body'].should == wall_note.note
|
||||
end
|
||||
|
||||
it "should return a 404 error if note not found" do
|
||||
get api("/projects/#{project.id}/notes/123", user)
|
||||
response.status.should == 404
|
||||
end
|
||||
end
|
||||
|
||||
describe "POST /projects/:id/notes" do
|
||||
|
@ -44,6 +49,11 @@ describe Gitlab::API do
|
|||
response.status.should == 201
|
||||
json_response['body'].should == 'hi!'
|
||||
end
|
||||
|
||||
it "should return a 400 error if body is missing" do
|
||||
post api("/projects/#{project.id}/notes", user)
|
||||
response.status.should == 400
|
||||
end
|
||||
end
|
||||
|
||||
describe "GET /projects/:id/noteable/:noteable_id/notes" do
|
||||
|
@ -54,6 +64,11 @@ describe Gitlab::API do
|
|||
json_response.should be_an Array
|
||||
json_response.first['body'].should == issue_note.note
|
||||
end
|
||||
|
||||
it "should return a 404 error when issue id not found" do
|
||||
get api("/projects/#{project.id}/issues/123/notes", user)
|
||||
response.status.should == 404
|
||||
end
|
||||
end
|
||||
|
||||
context "when noteable is a Snippet" do
|
||||
|
@ -63,6 +78,11 @@ describe Gitlab::API do
|
|||
json_response.should be_an Array
|
||||
json_response.first['body'].should == snippet_note.note
|
||||
end
|
||||
|
||||
it "should return a 404 error when snippet id not found" do
|
||||
get api("/projects/#{project.id}/snippets/42/notes", user)
|
||||
response.status.should == 404
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -73,6 +93,11 @@ describe Gitlab::API do
|
|||
response.status.should == 200
|
||||
json_response['body'].should == issue_note.note
|
||||
end
|
||||
|
||||
it "should return a 404 error if issue note not found" do
|
||||
get api("/projects/#{project.id}/issues/#{issue.id}/notes/123", user)
|
||||
response.status.should == 404
|
||||
end
|
||||
end
|
||||
|
||||
context "when noteable is a Snippet" do
|
||||
|
@ -81,6 +106,11 @@ describe Gitlab::API do
|
|||
response.status.should == 200
|
||||
json_response['body'].should == snippet_note.note
|
||||
end
|
||||
|
||||
it "should return a 404 error if snippet note not found" do
|
||||
get api("/projects/#{project.id}/snippets/#{snippet.id}/notes/123", user)
|
||||
response.status.should == 404
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue