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