summaryrefslogtreecommitdiff
path: root/qa/qa
diff options
context:
space:
mode:
authorPeter Leitzen <pleitzen@gitlab.com>2019-07-22 22:29:14 +0000
committerDan Davison <ddavison@gitlab.com>2019-07-22 22:29:14 +0000
commit510d03fec26ac64c1ec643f492676c02f4099a56 (patch)
tree44a4800645c504a6428cdf8f3d19aff23294dc76 /qa/qa
parent5595c9ded4d3e019c346f18de0f8509ded4a1b5d (diff)
downloadgitlab-ce-510d03fec26ac64c1ec643f492676c02f4099a56.tar.gz
QA: Prefer `flat_map` over `map` + `flatten`
Diffstat (limited to 'qa/qa')
-rw-r--r--qa/qa/page/base.rb4
-rw-r--r--qa/qa/page/validator.rb6
-rw-r--r--qa/qa/scenario/test/sanity/selectors.rb2
3 files changed, 5 insertions, 7 deletions
diff --git a/qa/qa/page/base.rb b/qa/qa/page/base.rb
index 80ce23d5c38..45496c6b245 100644
--- a/qa/qa/page/base.rb
+++ b/qa/qa/page/base.rb
@@ -181,11 +181,11 @@ module QA
return ["Page class does not have views / elements defined!"]
end
- views.map(&:errors).flatten
+ views.flat_map(&:errors)
end
def self.elements
- views.map(&:elements).flatten
+ views.flat_map(&:elements)
end
def send_keys_to_element(name, keys)
diff --git a/qa/qa/page/validator.rb b/qa/qa/page/validator.rb
index edd12665f1e..9b2d0a1a41d 100644
--- a/qa/qa/page/validator.rb
+++ b/qa/qa/page/validator.rb
@@ -22,16 +22,14 @@ module QA
end
def descendants
- @descendants ||= constants.map do |const|
+ @descendants ||= constants.flat_map do |const|
case const
when Class
const if const < Page::Base
when Module
Page::Validator.new(const).descendants
end
- end
-
- @descendants.flatten.compact
+ end.compact
end
def errors
diff --git a/qa/qa/scenario/test/sanity/selectors.rb b/qa/qa/scenario/test/sanity/selectors.rb
index e05269e8d55..b4d70fc191a 100644
--- a/qa/qa/scenario/test/sanity/selectors.rb
+++ b/qa/qa/scenario/test/sanity/selectors.rb
@@ -14,7 +14,7 @@ module QA
Page::Validator.new(pages)
end
- validators.map(&:errors).flatten.tap do |errors|
+ validators.flat_map(&:errors).tap do |errors|
break if errors.none?
warn <<~EOS