summaryrefslogtreecommitdiff
path: root/spec/support/helpers
diff options
context:
space:
mode:
authorJose Ivan Vargas <jvargas@gitlab.com>2017-10-06 17:15:44 -0500
committerJose Ivan Vargas <jvargas@gitlab.com>2017-10-06 17:15:44 -0500
commit02838d5be2f899793ce5e026f0bb20c509697061 (patch)
treede3e125ca3f997bb94e079e2d2dbdc879d3dd7c6 /spec/support/helpers
parent035bf5d4d5d3209286aa257cbd56ec6ce9e1afb9 (diff)
parent3cbab382f678cef273cde319aae55f050d27527d (diff)
downloadgitlab-ce-02838d5be2f899793ce5e026f0bb20c509697061.tar.gz
Merge branch 'master' into sh-headless-chrome-support
Diffstat (limited to 'spec/support/helpers')
-rw-r--r--spec/support/helpers/merge_request_diff_helpers.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/support/helpers/merge_request_diff_helpers.rb b/spec/support/helpers/merge_request_diff_helpers.rb
new file mode 100644
index 00000000000..fd22e384b1b
--- /dev/null
+++ b/spec/support/helpers/merge_request_diff_helpers.rb
@@ -0,0 +1,28 @@
+module MergeRequestDiffHelpers
+ def click_diff_line(line_holder, diff_side = nil)
+ line = get_line_components(line_holder, diff_side)
+ line[:content].hover
+ line[:num].find('.add-diff-note').trigger('click')
+ end
+
+ def get_line_components(line_holder, diff_side = nil)
+ if diff_side.nil?
+ get_inline_line_components(line_holder)
+ else
+ get_parallel_line_components(line_holder, diff_side)
+ end
+ end
+
+ def get_inline_line_components(line_holder)
+ { content: line_holder.find('.line_content', match: :first), num: line_holder.find('.diff-line-num', match: :first) }
+ end
+
+ def get_parallel_line_components(line_holder, diff_side = nil)
+ side_index = diff_side == 'left' ? 0 : 1
+ # Wait for `.line_content`
+ line_holder.find('.line_content', match: :first)
+ # Wait for `.diff-line-num`
+ line_holder.find('.diff-line-num', match: :first)
+ { content: line_holder.all('.line_content')[side_index], num: line_holder.all('.diff-line-num')[side_index] }
+ end
+end