summaryrefslogtreecommitdiff
path: root/spec/support/helpers/drag_to_helper.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-03-29 11:47:54 +0200
committerRémy Coutable <remy@rymai.me>2018-04-23 12:20:30 +0200
commit023d4f6f2f3d88d0966fe01e6ef921fd03a309fe (patch)
tree6aabb650fe2ba200222c57f1a4ac66ff0a9143e8 /spec/support/helpers/drag_to_helper.rb
parenteb1cb7bed6951bdda54abd55e86fd793e6954a56 (diff)
downloadgitlab-ce-023d4f6f2f3d88d0966fe01e6ef921fd03a309fe.tar.gz
Move spec helpers/matchers/shared examples/contexts to their relevant folder
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec/support/helpers/drag_to_helper.rb')
-rw-r--r--spec/support/helpers/drag_to_helper.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/spec/support/helpers/drag_to_helper.rb b/spec/support/helpers/drag_to_helper.rb
new file mode 100644
index 00000000000..ae149631ed9
--- /dev/null
+++ b/spec/support/helpers/drag_to_helper.rb
@@ -0,0 +1,13 @@
+module DragTo
+ def drag_to(list_from_index: 0, from_index: 0, to_index: 0, list_to_index: 0, selector: '', scrollable: 'body')
+ evaluate_script("simulateDrag({scrollable: $('#{scrollable}').get(0), from: {el: $('#{selector}').eq(#{list_from_index}).get(0), index: #{from_index}}, to: {el: $('#{selector}').eq(#{list_to_index}).get(0), index: #{to_index}}});")
+
+ Timeout.timeout(Capybara.default_max_wait_time) do
+ loop while drag_active?
+ end
+ end
+
+ def drag_active?
+ page.evaluate_script('window.SIMULATE_DRAG_ACTIVE').nonzero?
+ end
+end