Sha256: 625e93574fc47621179c73072ccac0ef6ccab2c1ec0e5adb44bfdf3d89182946

Contents?: true

Size: 1.16 KB

Versions: 19

Compression:

Stored size: 1.16 KB

Contents

module OpsManagerUiDrivers
  module Version15
    class AvailabilityZones
      def initialize(browser:)
        @browser = browser
      end

      def add_single_az(iaas_identifier)
        open_form('availability_zones')

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

        save_form
      end

      def add_az(fields)
        open_form('availability_zones')

        browser.click_on 'Add'
        set_fields(fields: fields)
        save_form
      end

      private

      attr_reader :browser

      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-microbosh-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

19 entries across 19 versions & 1 rubygems

Version Path
ops_manager_ui_drivers-1.0.0 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.16.0 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.15.2 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.15.1 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.15.0 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.14.1 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.14.0 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.13.0 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.12.0 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.11.0 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.10.0 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.9.9 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.9.8 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.9.7 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.9.6 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.9.5 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.9.4 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.9.3 lib/ops_manager_ui_drivers/version15/availability_zones.rb
ops_manager_ui_drivers-0.9.2 lib/ops_manager_ui_drivers/version15/availability_zones.rb