diff options
author | Nihad Abbasov <narkoz.2008@gmail.com> | 2012-11-27 11:43:39 -0800 |
---|---|---|
committer | Nihad Abbasov <narkoz.2008@gmail.com> | 2012-11-29 12:11:00 -0800 |
commit | 01eab583d0d16b44554a9790fb502f14ea84faf0 (patch) | |
tree | 60d50ac821d6251c453e4ae805ed925c34f9d251 /spec | |
parent | aaa1c94239df831d10489d686d8883b49d601f43 (diff) | |
download | gitlab-ce-01eab583d0d16b44554a9790fb502f14ea84faf0.tar.gz |
API: list wall, snippet and issue notes
Diffstat (limited to 'spec')
-rw-r--r-- | spec/requests/api/notes_spec.rb | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/spec/requests/api/notes_spec.rb b/spec/requests/api/notes_spec.rb new file mode 100644 index 00000000000..1d42921f00c --- /dev/null +++ b/spec/requests/api/notes_spec.rb @@ -0,0 +1,52 @@ +require 'spec_helper' + +describe Gitlab::API do + include ApiHelpers + + let(:user) { create(:user) } + let!(:project) { create(:project, owner: user) } + let!(:issue) { create(:issue, project: project, author: user) } + let!(:snippet) { create(:snippet, project: project, author: user) } + let!(:issue_note) { create(:note, noteable: issue, project: project, author: user) } + let!(:snippet_note) { create(:note, noteable: snippet, project: project, author: user) } + let!(:wall_note) { create(:note, project: project, author: user) } + before { project.add_access(user, :read) } + + describe "GET /projects/:id/notes" do + context "when unauthenticated" do + it "should return authentication error" do + get api("/projects/#{project.id}/notes") + response.status.should == 401 + end + end + + context "when authenticated" do + it "should return project wall notes" do + get api("/projects/#{project.id}/notes", user) + response.status.should == 200 + json_response.should be_an Array + json_response.first['body'].should == wall_note.note + end + end + end + + describe "GET /projects/:id/noteable/:noteable_id/notes" do + context "when noteable is an Issue" do + it "should return an array of notes" do + get api("/projects/#{project.id}/issues/#{issue.id}/notes", user) + response.status.should == 200 + json_response.should be_an Array + json_response.first['body'].should == issue_note.note + end + end + + context "when noteable is a Snippet" do + it "should return an array of notes" do + get api("/projects/#{project.id}/snippets/#{snippet.id}/notes", user) + response.status.should == 200 + json_response.should be_an Array + json_response.first['body'].should == snippet_note.note + end + end + end +end |