summaryrefslogtreecommitdiff
path: root/app/helpers
diff options
context:
space:
mode:
authorddavison <ddavison@gitlab.com>2018-08-20 11:04:30 -0400
committerddavison <ddavison@gitlab.com>2018-08-20 11:04:30 -0400
commitc1c218252b2df207e564d57ce66d376906dfbe83 (patch)
tree9464a9c0b7de5e95642003dabc784e9e3bf9521f /app/helpers
parent1a7ecf03944050b9f0126bde9767481d7e8d3ec2 (diff)
downloadgitlab-ce-qa-consolidate-selector-pattern.tar.gz
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/qa_helper.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/helpers/qa_helper.rb b/app/helpers/qa_helper.rb
new file mode 100644
index 00000000000..57eee9c144c
--- /dev/null
+++ b/app/helpers/qa_helper.rb
@@ -0,0 +1,25 @@
+module QaHelper
+ # Define a data-qa attribute on the webpage
+ #
+ # Examples:
+ # qa('selector', 'username')
+ # qa('index', 1)
+ #
+ # Params:
+ # +attr+:: the data-qa-* attribute where * is the attribute to match
+ # +value+:: the value to set for data-qa-attr="value"
+ def qa(attr, value)
+ { "qa-#{attr}": value }
+ end
+
+ # Shortcut method(s) for QA
+ #
+ # Examples:
+ # data: qa_selector('test')
+ # data: qa_index(1)
+ [:qa_selector].each do |qa_method|
+ define_method qa_method do |pattern|
+ qa("#{qa_method.to_s.split('_')[1]}", pattern)
+ end
+ end
+end