summaryrefslogtreecommitdiff
path: root/qa/qa/page/settings/common.rb
blob: 6989e8125d3f4f83998bca36d9d9abbf82e1869d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# frozen_string_literal: true

module QA
  module Page
    module Settings
      module Common
        # Click the Expand button present in the specified section
        #
        # @param [Symbol] element_name `element` name defined in a `view` block
        def expand_section(element_name)
          within_element(element_name) do
            # Because it is possible to click the button before the JS toggle code is bound
            wait_until(reload: false) do
              click_button 'Expand' unless has_css?('button', text: 'Collapse', wait: 1)

              has_content?('Collapse')
              finished_loading?
            end

            yield if block_given?
          end
        end
      end
    end
  end
end