Class: OpsManagerUiDrivers::Version14::ProductForm

Inherits:
Object
  • Object
show all
Defined in:
lib/ops_manager_ui_drivers/version14/product_form.rb

Instance Method Summary collapse

Constructor Details

#initialize(browser:, product_name:, form_name:) ⇒ ProductForm

Returns a new instance of ProductForm.



4
5
6
7
8
# File 'lib/ops_manager_ui_drivers/version14/product_form.rb', line 4

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

Instance Method Details

#fill_in_selector_property(selector_input_reference:, selector_name:, selector_value:, sub_field_answers:) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/ops_manager_ui_drivers/version14/product_form.rb', line 26

def fill_in_selector_property(selector_input_reference:, selector_name:, selector_value:, sub_field_answers:)
  radio = browser.first(%Q(input[type="radio"][name="#{form_name}[#{selector_input_reference}][value]"][value="#{selector_value}"]))
  radio.click
  sub_field_answers.each do |label, value|
    selector_string = "#{form_name}[#{selector_input_reference}][#{selector_name}][#{label}]"

    if value[:attribute_name]
      selector_string += "[#{value[:attribute_name]}]"
    end

    browser.find_field(selector_string).set(value[:attribute_value])
  end
end

#generate_self_signed_cert(wildcard_domain) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/ops_manager_ui_drivers/version14/product_form.rb', line 18

def generate_self_signed_cert(wildcard_domain)
  browser.click_on 'Generate Self-Signed RSA Certificate'
  browser.within '#rsa-certificate-form' do
    browser.fill_in 'rsa_certificate[domains]', with: wildcard_domain
    browser.click_on 'save-rsa-certificate-action'
  end
end

#nested_property(property_reference, nested_reference) ⇒ Object



14
15
16
# File 'lib/ops_manager_ui_drivers/version14/product_form.rb', line 14

def nested_property(property_reference, nested_reference)
  browser.find_field("#{form_name}[#{property_reference}][#{nested_reference}]")
end

#open_formObject



50
51
52
53
54
# File 'lib/ops_manager_ui_drivers/version14/product_form.rb', line 50

def open_form
  browser.visit '/'
  browser.click_on "show-#{product_name}-configure-action"
  browser.click_on "show-#{form_name}-action"
end

#property(property_reference) ⇒ Object



10
11
12
# File 'lib/ops_manager_ui_drivers/version14/product_form.rb', line 10

def property(property_reference)
  browser.find_field("#{form_name}[#{property_reference}]")
end

#save_form(validate: true) ⇒ Object



40
41
42
43
44
45
46
47
48
# File 'lib/ops_manager_ui_drivers/version14/product_form.rb', line 40

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