summaryrefslogtreecommitdiff
path: root/features/steps/shared/diff_note.rb
diff options
context:
space:
mode:
authorRiyad Preukschas <riyad@informatik.uni-bremen.de>2013-01-15 00:11:35 +0100
committerRiyad Preukschas <riyad@informatik.uni-bremen.de>2013-01-15 00:52:57 +0100
commitd28176b132bdc74055f31e2d62665d5d74ebacb4 (patch)
tree4bc9c8e3778d51020da0e8bb318aa7c3830ee67d /features/steps/shared/diff_note.rb
parentf8e1f4a7c9ee2554efcf7376a0cfbefae8956d7b (diff)
downloadgitlab-ce-d28176b132bdc74055f31e2d62665d5d74ebacb4.tar.gz
Replace commit diff note request specs with spinach features
Diffstat (limited to 'features/steps/shared/diff_note.rb')
-rw-r--r--features/steps/shared/diff_note.rb158
1 files changed, 158 insertions, 0 deletions
diff --git a/features/steps/shared/diff_note.rb b/features/steps/shared/diff_note.rb
new file mode 100644
index 00000000000..36597e879bb
--- /dev/null
+++ b/features/steps/shared/diff_note.rb
@@ -0,0 +1,158 @@
+module SharedDiffNote
+ include Spinach::DSL
+
+ Given 'I cancel the diff comment' do
+ within(".diff_file") do
+ find(".js-close-discussion-note-form").trigger("click")
+ end
+ end
+
+ Given 'I delete a diff comment' do
+ within(".diff_file") do
+ first(".js-note-delete").trigger("click")
+ end
+ end
+
+ Given 'I haven\'t written any diff comment text' do
+ within(".diff_file") do
+ fill_in "note[note]", with: ""
+ end
+ end
+
+ Given 'I leave a diff comment like "Typo, please fix"' do
+ find("#0_29_14.line_holder .js-add-diff-note-button").trigger("click")
+ within(".diff_file") do
+ fill_in "note[note]", with: "Typo, please fix"
+ #click_button("Add Comment")
+ find(".js-comment-button").trigger("click")
+ end
+ end
+
+ Given 'I preview a diff comment text like "Should fix it :smile:"' do
+ find("#0_29_14.line_holder .js-add-diff-note-button").trigger("click")
+ within(".diff_file") do
+ fill_in "note[note]", with: "Should fix it :smile:"
+ find(".js-note-preview-button").trigger("click")
+ end
+ end
+
+ Given 'I preview another diff comment text like "DRY this up"' do
+ find("#0_57_41.line_holder .js-add-diff-note-button").trigger("click")
+ within(".diff_file") do
+ fill_in "note[note]", with: "DRY this up"
+ find(".js-note-preview-button").trigger("click")
+ end
+ end
+
+ Given 'I open a diff comment form' do
+ find("#0_29_14.line_holder .js-add-diff-note-button").trigger("click")
+ end
+
+ Given 'I open another diff comment form' do
+ find("#0_57_41.line_holder .js-add-diff-note-button").trigger("click")
+ end
+
+ Given 'I write a diff comment like ":-1: I don\'t like this"' do
+ within(".diff_file") do
+ fill_in "note[note]", with: ":-1: I don\'t like this"
+ end
+ end
+
+ Given 'I submit the diff comment' do
+ within(".diff_file") do
+ click_button("Add Comment")
+ end
+ end
+
+
+
+ Then 'I should not see the diff comment form' do
+ within(".diff_file") do
+ page.should_not have_css("form.new_note")
+ end
+ end
+
+ Then 'I should not see the diff comment preview button' do
+ within(".diff_file") do
+ page.should have_css(".js-note-preview-button", visible: false)
+ end
+ end
+
+ Then 'I should not see the diff comment text field' do
+ within(".diff_file") do
+ page.should have_css(".js-note-text", visible: false)
+ end
+ end
+
+ Then 'I should only see one diff form' do
+ within(".diff_file") do
+ page.should have_css("form.new_note", count: 1)
+ end
+ end
+
+ Then 'I should see a diff comment form with ":-1: I don\'t like this"' do
+ within(".diff_file") do
+ page.should have_field("note[note]", with: ":-1: I don\'t like this")
+ end
+ end
+
+ Then 'I should see a diff comment saying "Typo, please fix"' do
+ within(".diff_file .note") do
+ page.should have_content("Typo, please fix")
+ end
+ end
+
+ Then 'I should see a discussion reply button' do
+ within(".diff_file") do
+ page.should have_link("Reply")
+ end
+ end
+
+ Then 'I should see a temporary diff comment form' do
+ within(".diff_file") do
+ page.should have_css(".js-temp-notes-holder form.new_note")
+ end
+ end
+
+ Then 'I should see add a diff comment button' do
+ page.should have_css(".js-add-diff-note-button", visible: false)
+ end
+
+ Then 'I should see an empty diff comment form' do
+ within(".diff_file") do
+ page.should have_field("note[note]", with: "")
+ end
+ end
+
+ Then 'I should see the cancel comment button' do
+ within(".diff_file form") do
+ page.should have_css(".js-close-discussion-note-form", text: "Cancel")
+ end
+ end
+
+ Then 'I should see the diff comment preview' do
+ within(".diff_file form") do
+ page.should have_css(".js-note-preview", visible: false)
+ end
+ end
+
+ Then 'I should see the diff comment edit button' do
+ within(".diff_file") do
+ page.should have_css(".js-note-edit-button", visible: true)
+ end
+ end
+
+ Then 'I should see the diff comment preview button' do
+ within(".diff_file") do
+ page.should have_css(".js-note-preview-button", visible: true)
+ end
+ end
+
+ Then 'I should see two separate previews' do
+ within(".diff_file") do
+ page.should have_css(".js-note-preview", visible: true, count: 2)
+ page.should have_content("Should fix it")
+ page.should have_content("DRY this up")
+ end
+ end
+end