Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/page/base.rb')
-rw-r--r--qa/qa/page/base.rb39
1 files changed, 20 insertions, 19 deletions
diff --git a/qa/qa/page/base.rb b/qa/qa/page/base.rb
index f59b06b4e75..ab83da7dacf 100644
--- a/qa/qa/page/base.rb
+++ b/qa/qa/page/base.rb
@@ -13,7 +13,6 @@ module QA
include Support::WaitForRequests
extend Validatable
- extend SingleForwardable
ElementNotFound = Class.new(RuntimeError)
@@ -31,8 +30,6 @@ module QA
end
end
- def_delegators :evaluator, :view, :views
-
def initialize
@retry_later_backoff = QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME
end
@@ -276,7 +273,7 @@ module QA
visible = kwargs.delete(:visible)
visible = visible.nil? && true
- try_find_element = lambda do |wait|
+ try_find_element = ->(wait) do
if disabled.nil?
has_css?(element_selector_css(name, kwargs), text: text, wait: wait, class: klass, visible: visible)
else
@@ -422,26 +419,30 @@ module QA
URI(page.current_url).host
end
- def self.path
- raise NotImplementedError
- end
+ class << self
+ def path
+ raise NotImplementedError
+ end
- def self.evaluator
- @evaluator ||= Page::Base::DSL.new
- end
+ def evaluator
+ @evaluator ||= Page::Base::DSL.new
+ end
- def self.errors
- return ["Page class does not have views / elements defined!"] if views.empty?
+ def errors
+ return ["Page class does not have views / elements defined!"] if views.empty?
- views.flat_map(&:errors)
- end
+ views.flat_map(&:errors)
+ end
- def self.elements
- views.flat_map(&:elements)
- end
+ def elements
+ views.flat_map(&:elements)
+ end
+
+ def required_elements
+ elements.select(&:required?)
+ end
- def self.required_elements
- elements.select(&:required?)
+ delegate :view, :views, to: :evaluator
end
def send_keys_to_element(name, keys)