Sha256: 933167c7a938f2b0990b8dda09cff983ca61ed93f2e415f0608a97e6c5c13c84

Contents?: true

Size: 1.31 KB

Versions: 102

Compression:

Stored size: 1.31 KB

Contents

module OpsManagerUiDrivers
  module Version17
    class JobNetworkMappingHelper
      PRODUCT_NETWORK_FIELD_NAME = 'product_network_reference'

      def initialize(product_name:, browser:)
        @product_name = product_name
        @browser      = browser
      end

      def assign_product_to_network(network)
        open_form
        browser.find_field(PRODUCT_NETWORK_FIELD_NAME).find(:option, text: network).select_option
        save_form
      end

      def product_network
        open_form
        selected_options = browser.find_field(PRODUCT_NETWORK_FIELD_NAME).all('option[selected]')
        raise ArgumentError, "#{PRODUCT_NETWORK_FIELD_NAME} not selected" if selected_options.empty?
        selected_options.first.text
      end

      private

      attr_reader :product_name, :browser

      def open_form
        browser.visit '/'
        browser.click_on "show-#{product_name}-configure-action"
        browser.click_on "show-#{product_name}-network-assignment-action"
      end

      def save_form
        browser.click_on 'Save'

        unless browser.has_css?('.flash-message.success')
          if browser.has_css?('.flash-message.error')
            raise browser.find('.flash-message.error').text
          else
            raise 'unexpected failure'
          end
        end
      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/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.41.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.40.1 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.40.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.39.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.38.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.37.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.36.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.35.2 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.35.1 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.35.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.34.1 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.34.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.33.1 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.33.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.32.1 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.32.0 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.31.3 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.31.2 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb
ops_manager_ui_drivers-2.31.1 lib/ops_manager_ui_drivers/version17/job_network_mapping_helper.rb