74 lines
1.7 KiB
Ruby
74 lines
1.7 KiB
Ruby
|
require "spec_helper"
|
||
|
|
||
|
describe "User comments on issue", :js do
|
||
|
include Spec::Support::Helpers::Features::NotesHelpers
|
||
|
|
||
|
let(:project) { create(:project_empty_repo, :public) }
|
||
|
let(:issue) { create(:issue, project: project) }
|
||
|
let(:user) { create(:user) }
|
||
|
|
||
|
before do
|
||
|
project.add_guest(user)
|
||
|
sign_in(user)
|
||
|
|
||
|
visit(project_issue_path(project, issue))
|
||
|
end
|
||
|
|
||
|
context "when adding comments" do
|
||
|
it "adds comment" do
|
||
|
content = "XML attached"
|
||
|
target_form = ".js-main-target-form"
|
||
|
|
||
|
add_note(content)
|
||
|
|
||
|
page.within(".note") do
|
||
|
expect(page).to have_content(content)
|
||
|
end
|
||
|
|
||
|
page.within(target_form) do
|
||
|
find(".error-alert", visible: false)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
it "adds comment with code block" do
|
||
|
comment = "```\nCommand [1]: /usr/local/bin/git , see [text](doc/text)\n```"
|
||
|
|
||
|
add_note(comment)
|
||
|
|
||
|
expect(page).to have_content(comment)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
context "when editing comments" do
|
||
|
it "edits comment" do
|
||
|
add_note("# Comment with a header")
|
||
|
|
||
|
page.within(".note-body > .note-text") do
|
||
|
expect(page).to have_content("Comment with a header").and have_no_css("#comment-with-a-header")
|
||
|
end
|
||
|
|
||
|
page.within(".main-notes-list") do
|
||
|
note = find(".note")
|
||
|
|
||
|
note.hover
|
||
|
note.find(".js-note-edit").click
|
||
|
end
|
||
|
|
||
|
expect(page).to have_css(".current-note-edit-form textarea")
|
||
|
|
||
|
comment = "+1 Awesome!"
|
||
|
|
||
|
page.within(".current-note-edit-form") do
|
||
|
fill_in("note[note]", with: comment)
|
||
|
click_button("Save comment")
|
||
|
end
|
||
|
|
||
|
wait_for_requests
|
||
|
|
||
|
page.within(".note") do
|
||
|
expect(page).to have_content(comment)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|