class OpsManagerUiDrivers::Version16::BoshProductSections::BoshProductFormSection

Public Class Methods

new(browser, field_prefix) click to toggle source
# File lib/ops_manager_ui_drivers/version16/bosh_product_sections/bosh_product_form_section.rb, line 5
def initialize(browser, field_prefix)
  @browser = browser
  @field_prefix = field_prefix
end

Public Instance Methods

open_form(form_name) click to toggle source
# File lib/ops_manager_ui_drivers/version16/bosh_product_sections/bosh_product_form_section.rb, line 10
def open_form(form_name)
  @browser.visit '/'
  @browser.click_on 'show-p-bosh-configure-action'
  @browser.click_on "show-#{form_name}-action"
end
save_form(allowed_errors=[]) click to toggle source
# File lib/ops_manager_ui_drivers/version16/bosh_product_sections/bosh_product_form_section.rb, line 16
def save_form(allowed_errors=[])
  @browser.click_on 'Save'
  !@browser.all('.flash-message.success').empty? || only_has_allowed_verification_errors(allowed_errors)
end
set_fields(fields) click to toggle source
# File lib/ops_manager_ui_drivers/version16/bosh_product_sections/bosh_product_form_section.rb, line 21
def set_fields(fields)
  fields.each do |field, value|
    set_field(field, value)
  end
end

Private Instance Methods

last_field(field) click to toggle source
# File lib/ops_manager_ui_drivers/version16/bosh_product_sections/bosh_product_form_section.rb, line 48
def last_field(field)
  @browser.all(:field, "#{@field_prefix}[#{field}]").last
end
only_has_allowed_verification_errors(allowed_errors) click to toggle source
# File lib/ops_manager_ui_drivers/version16/bosh_product_sections/bosh_product_form_section.rb, line 29
def only_has_allowed_verification_errors(allowed_errors)
  flash_errors = @browser.all('.flash-message.error')
  unexpected_errors = []

  if flash_errors.any?
    unexpected_errors = flash_errors.reject do |error|
      allowed_errors.select do |expected_error|
        error.text =~ expected_error
      end.any?
    end
  end

  unexpected_errors.empty?
end
set_field(field, value) click to toggle source
# File lib/ops_manager_ui_drivers/version16/bosh_product_sections/bosh_product_form_section.rb, line 44
def set_field(field, value)
  last_field(field).set(value)
end