class OpsManagerUiDrivers::Version17::ProductErrands

Attributes

browser[R]
product_name[R]

Public Class Methods

new(browser:, product_name:) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_errands.rb, line 4
def initialize(browser:, product_name:)
  @browser = browser
  @product_name = product_name
end

Public Instance Methods

disable_errand(errand_name) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_errands.rb, line 16
def disable_errand(errand_name)
  open_form
  set_check_box("pre_delete_errands_enabled_names_#{errand_name}", false)
  set_check_box("post_deploy_errands_enabled_names_#{errand_name}", false)
  save_form
end
enable_errand(errand_name) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_errands.rb, line 9
def enable_errand(errand_name)
  open_form
  set_check_box("pre_delete_errands_enabled_names_#{errand_name}", true)
  set_check_box("post_deploy_errands_enabled_names_#{errand_name}", true)
  save_form
end
enabled_errands() click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_errands.rb, line 23
def enabled_errands
  open_form

  result = []

  browser.all("input[type='checkbox'][name='post_deploy_errands[enabled_names][]'][checked='checked']").map do |checkbox|
    result << checkbox.value
  end

  browser.all("input[type='checkbox'][name='pre_delete_errands[enabled_names][]'][checked='checked']").map do |checkbox|
    result << checkbox.value
  end

  result
end
open_form() click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_errands.rb, line 49
def open_form
  browser.visit '/'
  browser.click_on "show-#{product_name}-configure-action"
  browser.click_on "show-product-errands-action"
end
save_form(validate: true) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_errands.rb, line 39
def save_form(validate: true)
  browser.click_on 'Save'

  fail('unexpected failure') unless browser.has_css?('.flash-message')

  if validate
    fail(browser.find('.flash-message.error').text) unless browser.has_css?('.flash-message.success')
  end
end

Private Instance Methods

set_check_box(name, value) click to toggle source
# File lib/ops_manager_ui_drivers/version17/product_errands.rb, line 59
def set_check_box(name, value)
  check_box = browser.first(:css, "\##{name}")
  check_box.set(value) if check_box
end