class OpsManagerUiDrivers::Version110::ProductErrands

Public Instance Methods

errands_with_state(errand_state) click to toggle source
# File lib/ops_manager_ui_drivers/version110/product_errands.rb, line 13
def errands_with_state(errand_state)
  validate_errand_state(errand_state)

  open_form

  result = []

  browser.all("select[ name^='errands[' ][ name*='][run_errand_' ]").map do |errand|
    errand_name = errand[:name].match(/errands\[(.*)\]\[run_errand_.*\]/)[1]
    selected_option = errand.all('option[selected]').first
    result << errand_name if selected_option == errand_state
    result << errand_name if selected_option && selected_option.text == errand_state
  end

  result
end
set_errand_state(errand_name, errand_state) click to toggle source
# File lib/ops_manager_ui_drivers/version110/product_errands.rb, line 6
def set_errand_state(errand_name, errand_state)
  validate_errand_state(errand_state)
  open_form
  browser.first(:css, %Q(select[name*="#{errand_name}"])).select(errand_state.to_s)
  save_form
end

Private Instance Methods

validate_errand_state(errand_state) click to toggle source
# File lib/ops_manager_ui_drivers/version110/product_errands.rb, line 38
def validate_errand_state(errand_state)
  return if ['On', 'Off', 'When Changed', nil].include?(errand_state)
  return if errand_state =~ /^Default \(On|Off|When Changed\)$/
  raise "Invalid errand state: #{errand_state.inspect}"
end