summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorNihad Abbasov <narkoz.2008@gmail.com>2012-11-27 11:43:39 -0800
committerNihad Abbasov <narkoz.2008@gmail.com>2012-11-29 12:11:00 -0800
commit01eab583d0d16b44554a9790fb502f14ea84faf0 (patch)
tree60d50ac821d6251c453e4ae805ed925c34f9d251 /spec
parentaaa1c94239df831d10489d686d8883b49d601f43 (diff)
downloadgitlab-ce-01eab583d0d16b44554a9790fb502f14ea84faf0.tar.gz
API: list wall, snippet and issue notes
Diffstat (limited to 'spec')
-rw-r--r--spec/requests/api/notes_spec.rb52
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