Class: OpsManagerUiDrivers::Version17::ProductErrands

Inherits:
Object
  • Object
show all
Defined in:
lib/ops_manager_ui_drivers/version17/product_errands.rb

Instance Method Summary collapse

Constructor Details

#initialize(browser:, product_name:) ⇒ ProductErrands

Returns a new instance of ProductErrands.



4
5
6
7
# File 'lib/ops_manager_ui_drivers/version17/product_errands.rb', line 4

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

Instance Method Details

#disable_errand(errand_name) ⇒ Object



16
17
18
19
20
21
# 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) ⇒ Object



9
10
11
12
13
14
# 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_errandsObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 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_formObject



49
50
51
52
53
# 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) ⇒ Object



39
40
41
42
43
44
45
46
47
# 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