require 'spec_helper' describe Gitlab::Client do describe "notes" do context "when wall notes" do before do stub_get("/projects/3/notes", "notes") @notes = Gitlab.notes(3) end it "should get the correct resource" do expect(a_get("/projects/3/notes")).to have_been_made end it "should return a paginated response of notes" do expect(@notes).to be_a Gitlab::PaginatedResponse expect(@notes.first.author.name).to eq("John Smith") end end context "when issue notes" do before do stub_get("/projects/3/issues/7/notes", "notes") @notes = Gitlab.issue_notes(3, 7) end it "should get the correct resource" do expect(a_get("/projects/3/issues/7/notes")).to have_been_made end it "should return a paginated response of notes" do expect(@notes).to be_a Gitlab::PaginatedResponse expect(@notes.first.author.name).to eq("John Smith") end end context "when snippet notes" do before do stub_get("/projects/3/snippets/7/notes", "notes") @notes = Gitlab.snippet_notes(3, 7) end it "should get the correct resource" do expect(a_get("/projects/3/snippets/7/notes")).to have_been_made end it "should return a paginated response of notes" do expect(@notes).to be_a Gitlab::PaginatedResponse expect(@notes.first.author.name).to eq("John Smith") end end context "when merge_request notes" do before do stub_get("/projects/3/merge_requests/7/notes", "notes") @notes = Gitlab.merge_request_notes(3, 7) end it "should get the correct resource" do expect(a_get("/projects/3/merge_requests/7/notes")).to have_been_made end it "should return a paginated response of notes" do expect(@notes).to be_a Gitlab::PaginatedResponse expect(@notes.first.author.name).to eq("John Smith") end end end describe "note" do context "when wall note" do before do stub_get("/projects/3/notes/1201", "note") @note = Gitlab.note(3, 1201) end it "should get the correct resource" do expect(a_get("/projects/3/notes/1201")).to have_been_made end it "should return information about a note" do expect(@note.body).to eq("The solution is rather tricky") expect(@note.author.name).to eq("John Smith") end end context "when issue note" do before do stub_get("/projects/3/issues/7/notes/1201", "note") @note = Gitlab.issue_note(3, 7, 1201) end it "should get the correct resource" do expect(a_get("/projects/3/issues/7/notes/1201")).to have_been_made end it "should return information about a note" do expect(@note.body).to eq("The solution is rather tricky") expect(@note.author.name).to eq("John Smith") end end context "when snippet note" do before do stub_get("/projects/3/snippets/7/notes/1201", "note") @note = Gitlab.snippet_note(3, 7, 1201) end it "should get the correct resource" do expect(a_get("/projects/3/snippets/7/notes/1201")).to have_been_made end it "should return information about a note" do expect(@note.body).to eq("The solution is rather tricky") expect(@note.author.name).to eq("John Smith") end end context "when merge request note" do before do stub_get("/projects/3/merge_requests/7/notes/1201", "note") @note = Gitlab.merge_request_note(3, 7, 1201) end it "should get the correct resource" do expect(a_get("/projects/3/merge_requests/7/notes/1201")).to have_been_made end it "should return information about a note" do expect(@note.body).to eq("The solution is rather tricky") expect(@note.author.name).to eq("John Smith") end end end describe "create note" do context "when wall note" do before do stub_post("/projects/3/notes", "note") @note = Gitlab.create_note(3, "The solution is rather tricky") end it "should get the correct resource" do expect(a_post("/projects/3/notes"). with(body: { body: 'The solution is rather tricky' })).to have_been_made end it "should return information about a created note" do expect(@note.body).to eq("The solution is rather tricky") expect(@note.author.name).to eq("John Smith") end end context "when issue note" do before do stub_post("/projects/3/issues/7/notes", "note") @note = Gitlab.create_issue_note(3, 7, "The solution is rather tricky") end it "should get the correct resource" do expect(a_post("/projects/3/issues/7/notes"). with(body: { body: 'The solution is rather tricky' })).to have_been_made end it "should return information about a created note" do expect(@note.body).to eq("The solution is rather tricky") expect(@note.author.name).to eq("John Smith") end end context "when snippet note" do before do stub_post("/projects/3/snippets/7/notes", "note") @note = Gitlab.create_snippet_note(3, 7, "The solution is rather tricky") end it "should get the correct resource" do expect(a_post("/projects/3/snippets/7/notes"). with(body: { body: 'The solution is rather tricky' })).to have_been_made end it "should return information about a created note" do expect(@note.body).to eq("The solution is rather tricky") expect(@note.author.name).to eq("John Smith") end end context "when merge_request note" do before do stub_post("/projects/3/merge_requests/7/notes", "note") @note = Gitlab.create_merge_request_note(3, 7, "The solution is rather tricky") end it "should get the correct resource" do expect(a_post("/projects/3/merge_requests/7/notes"). with(body: { body: 'The solution is rather tricky' })).to have_been_made end it "should return information about a created note" do expect(@note.body).to eq("The solution is rather tricky") expect(@note.author.name).to eq("John Smith") end end end describe "delete note" do context "when wall note" do before do stub_delete("/projects/3/notes/1201", "note") @note = Gitlab.delete_note(3, 1201) end it "should get the correct resource" do expect(a_delete("/projects/3/notes/1201")).to have_been_made end it "should return information about a deleted note" do expect(@note.id).to eq(1201) end end context "when issue note" do before do stub_delete("/projects/3/issues/7/notes/1201", "note") @note = Gitlab.delete_issue_note(3, 7, 1201) end it "should get the correct resource" do expect(a_delete("/projects/3/issues/7/notes/1201")).to have_been_made end it "should return information about a deleted issue note" do expect(@note.id).to eq(1201) end end context "when snippet note" do before do stub_delete("/projects/3/snippets/7/notes/1201", "note") @note = Gitlab.delete_snippet_note(3, 7, 1201) end it "should get the correct resource" do expect(a_delete("/projects/3/snippets/7/notes/1201")).to have_been_made end it "should return information about a deleted snippet note" do expect(@note.id).to eq(1201) end end context "when merge request note" do before do stub_delete("/projects/3/merge_requests/7/notes/1201", "note") @note = Gitlab.delete_merge_request_note(3, 7, 1201) end it "should get the correct resource" do expect(a_delete("/projects/3/merge_requests/7/notes/1201")).to have_been_made end it "should return information about a deleted merge request note" do expect(@note.id).to eq(1201) end end end describe "modify note" do context "when wall note" do before do stub_put("/projects/3/notes/1201", "note") @note = Gitlab.edit_note(3, 1201, body: "edited wall note content") end it "should get the correct resource" do expect(a_put("/projects/3/notes/1201"). with(body: {body: 'edited wall note content'})).to have_been_made end it "should return information about a modified note" do expect(@note.id).to eq(1201) end end context "when issue note" do before do stub_put("/projects/3/issues/7/notes/1201", "note") @note = Gitlab.edit_issue_note(3, 7, 1201, body: "edited issue note content") end it "should get the correct resource" do expect(a_put("/projects/3/issues/7/notes/1201"). with(body: {body: 'edited issue note content'})).to have_been_made end it "should return information about a modified issue note" do expect(@note.id).to eq(1201) end end context "when snippet note" do before do stub_put("/projects/3/snippets/7/notes/1201", "note") @note = Gitlab.edit_snippet_note(3, 7, 1201, body: "edited snippet note content") end it "should get the correct resource" do expect(a_put("/projects/3/snippets/7/notes/1201"). with(body: {body: 'edited snippet note content'})).to have_been_made end it "should return information about a modified snippet note" do expect(@note.id).to eq(1201) end end context "when merge request note" do before do stub_put("/projects/3/merge_requests/7/notes/1201", "note") @note = Gitlab.edit_merge_request_note(3, 7, 1201, body: "edited merge request note content") end it "should get the correct resource" do expect(a_put("/projects/3/merge_requests/7/notes/1201"). with(body: {body: 'edited merge request note content'})).to have_been_made end it "should return information about a modified request note" do expect(@note.id).to eq(1201) end end end end