diff options
author | ddavison <ddavison@gitlab.com> | 2018-08-20 11:04:30 -0400 |
---|---|---|
committer | ddavison <ddavison@gitlab.com> | 2018-08-20 11:04:30 -0400 |
commit | c1c218252b2df207e564d57ce66d376906dfbe83 (patch) | |
tree | 9464a9c0b7de5e95642003dabc784e9e3bf9521f /app/helpers | |
parent | 1a7ecf03944050b9f0126bde9767481d7e8d3ec2 (diff) | |
download | gitlab-ce-qa-consolidate-selector-pattern.tar.gz |
wip: refactoringqa-consolidate-selector-pattern
Diffstat (limited to 'app/helpers')
-rw-r--r-- | app/helpers/qa_helper.rb | 25 |
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 |