Sha256: 19ecc607749ebebb9fae677d995b0bf568e92fe7db6846931de22a4a5cac69b4

Contents?: true

Size: 1.37 KB

Versions: 102

Compression:

Stored size: 1.37 KB

Contents

module OpsManagerUiDrivers
  module Version14
    class AvailabilityZones
      def initialize(browser:, product:)
        @browser = browser
        @product = product
      end

      def add_aws_az(iaas_identifier)
        open_form('availability_zones')

        set_fields(fields: {'iaas_identifier' => iaas_identifier})
        save_form
      end

      def add_az(name, cluster, resource_pool)
        open_form('availability_zones')

        browser.click_on 'Add'
        set_fields(
          fields: {
            'name'          => name,
            'cluster'       => cluster,
            'resource_pool' => resource_pool,
          }
        )
        save_form
      end

      private
      attr_reader :browser, :product

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

      def open_form(form)
        browser.visit '/'
        browser.click_on "show-#{product}-configure-action"
        browser.click_on "show-#{form}-action"
      end

      def set_fields(fields:)
        fields.each do |field, value|
          set_field(field, value)
        end
      end

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

      def last_field(field)
        browser.all(:field, "availability_zones[availability_zones][][#{field}]").last
      end
    end
  end
end

Version data entries

102 entries across 102 versions & 1 rubygems

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