Class: OpsManagerUiDrivers::Version17::ProductForm
- Inherits:
-
Object
- Object
- OpsManagerUiDrivers::Version17::ProductForm
show all
- Includes:
- AnimationHelper
- Defined in:
- lib/ops_manager_ui_drivers/version17/product_form.rb
Instance Method Summary
collapse
#disable_css_transitions!
Constructor Details
#initialize(browser:, product_name:, form_name:) ⇒ ProductForm
Returns a new instance of ProductForm.
8
9
10
11
12
|
# File 'lib/ops_manager_ui_drivers/version17/product_form.rb', line 8
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# File 'lib/ops_manager_ui_drivers/version17/product_form.rb', line 53
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.execute_script "$('a[data-masked-input-name=\"#{selector_string}\"]:contains(\"Change\")').click()"
browser.find_field(selector_string).set(value[:attribute_value])
end
end
|
#generate_self_signed_cert(wildcard_domain, property_reference, selector_property_reference = nil, selector_option_name = nil) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/ops_manager_ui_drivers/version17/product_form.rb', line 26
def generate_self_signed_cert(wildcard_domain, property_reference, selector_property_reference = nil, selector_option_name = nil)
if selector_property_reference && selector_option_name
private_key_field_name = "#{form_name}[#{selector_property_reference}][#{selector_option_name}][#{property_reference}][private_key_pem]"
else
private_key_field_name = "#{form_name}[#{property_reference}][private_key_pem]"
end
change_link = browser.first(%Q(a[data-masked-input-name="#{private_key_field_name}"]))
change_link.click if change_link
disable_css_transitions!
generate_rsa_link = browser.first("textarea[name='#{private_key_field_name}'] + a")
unless generate_rsa_link
puts 'Unable to find the Generate RSA Certificate link for the given property. If you are in a selector, please be sure to provide the two optional parameters to this method.'
end
generate_rsa_link.click
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
20
21
22
23
24
|
# File 'lib/ops_manager_ui_drivers/version17/product_form.rb', line 20
def nested_property(property_reference, nested_reference)
name = "#{form_name}[#{property_reference}][#{nested_reference}]"
browser.execute_script "$('a[data-masked-input-name=\"#{name}\"]:contains(\"Change\")').click()"
browser.find_field(name)
end
|
78
79
80
81
82
|
# File 'lib/ops_manager_ui_drivers/version17/product_form.rb', line 78
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
14
15
16
17
18
|
# File 'lib/ops_manager_ui_drivers/version17/product_form.rb', line 14
def property(property_reference)
name = "#{form_name}[#{property_reference}]"
browser.execute_script "$('a[data-masked-input-name=\"#{name}\"]:contains(\"Change\")').click()"
browser.find_field(name)
end
|
68
69
70
71
72
73
74
75
76
|
# File 'lib/ops_manager_ui_drivers/version17/product_form.rb', line 68
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
|
#set_boolean_property(checkbox_value) ⇒ Object
49
50
51
|
# File 'lib/ops_manager_ui_drivers/version17/product_form.rb', line 49
def set_boolean_property(checkbox_value)
browser.check(checkbox_value)
end
|