Sha256: e5cd5d738d91178b1213905c46f0172c9fe85e6a7bf8aca8d4a2e0c399532f40

Contents?: true

Size: 1.55 KB

Versions: 70

Compression:

Stored size: 1.55 KB

Contents

module OpsManagerUiDrivers
  module Version17
    module BoshProductSections
      class BoshProductFormSection
        attr_reader :field_prefix

        def initialize(browser, field_prefix)
          @browser = browser
          @field_prefix = field_prefix
        end

        def open_form(form_name)
          @browser.visit '/'
          @browser.click_on 'show-p-bosh-configure-action'
          @browser.click_on "show-#{form_name}-action"
        end

        def save_form
          @browser.click_on 'Save'
          @browser.expect(@browser.page).to @browser.have_css('.flash-message.success')
        end

        def set_fields(fields)
          fields.each do |field, value|
            if value.is_a? Hash
              handle_customized_field_value(value)
            else
              set_field(field, value)
            end
          end
        end

        def select_all_az_references_on_page
          @browser.all(:field, "#{@field_prefix}[availability_zone_references][]").each do |node|
            node.set(true)
          end
        end

        private

        def handle_customized_field_value(value)
          @browser.send(value['browser_command'], value['browser_arg'])
        end

        def set_field(field, value)
          last_field(field).set(value)
        end

        def last_field(field)
          name = "#{@field_prefix}[#{field}]"
          @browser.execute_script "$('a[data-masked-input-name=\"#{name}\"]:contains(\"Change\")').click()"
          @browser.all(:field, name, minimum: 1).last
        end
      end
    end
  end
end

Version data entries

70 entries across 70 versions & 1 rubygems

Version Path
ops_manager_ui_drivers-2.42.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.41.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.40.1 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.40.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.39.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.38.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.37.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.36.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.35.2 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.35.1 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.35.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.34.1 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.34.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.33.1 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.33.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.32.1 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.32.0 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.31.3 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.31.2 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb
ops_manager_ui_drivers-2.31.1 lib/ops_manager_ui_drivers/version17/bosh_product_sections/bosh_product_form_section.rb