Class: OpsManagerUiDrivers::Version15::JobAvailabilityZoneMappingHelper
- Inherits:
-
Object
- Object
- OpsManagerUiDrivers::Version15::JobAvailabilityZoneMappingHelper
- Defined in:
- lib/ops_manager_ui_drivers/version15/job_availability_zone_mapping_helper.rb
Constant Summary collapse
- SINGLETON_AVAILABILITY_ZONE_INPUT_SELECTOR =
"input[name='product[singleton_availability_zone_reference]']"
- AVAILABILITY_ZONE_INPUT_SELECTOR =
"input[name='product[availability_zone_references][]']"
Instance Method Summary collapse
- #assign_availability_zones!(singleton_availability_zone:, availability_zones:) ⇒ Object
- #availability_zones ⇒ Object
-
#initialize(product_name:, browser:) ⇒ JobAvailabilityZoneMappingHelper
constructor
A new instance of JobAvailabilityZoneMappingHelper.
- #singleton_availability_zone ⇒ Object
Constructor Details
#initialize(product_name:, browser:) ⇒ JobAvailabilityZoneMappingHelper
Returns a new instance of JobAvailabilityZoneMappingHelper.
4 5 6 7 |
# File 'lib/ops_manager_ui_drivers/version15/job_availability_zone_mapping_helper.rb', line 4 def initialize(product_name:, browser:) @product_name = product_name @browser = browser end |
Instance Method Details
#assign_availability_zones!(singleton_availability_zone:, availability_zones:) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/ops_manager_ui_drivers/version15/job_availability_zone_mapping_helper.rb', line 12 def assign_availability_zones!(singleton_availability_zone:, availability_zones:) open_form browser.all(AVAILABILITY_ZONE_INPUT_SELECTOR).each do |checkbox| checkbox.set(false) end availability_zones.each do |az_name| browser.check("#{az_name}") end browser.choose("#{singleton_availability_zone}") save_form end |
#availability_zones ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/ops_manager_ui_drivers/version15/job_availability_zone_mapping_helper.rb', line 39 def availability_zones open_form browser.all("#{AVAILABILITY_ZONE_INPUT_SELECTOR}[checked='checked']").map do |checkbox| browser.find("label[for='#{checkbox[:id]}']").text end end |
#singleton_availability_zone ⇒ Object
28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ops_manager_ui_drivers/version15/job_availability_zone_mapping_helper.rb', line 28 def singleton_availability_zone open_form = browser.all("#{SINGLETON_AVAILABILITY_ZONE_INPUT_SELECTOR}[selected='selected']").map do |radio| browser.find("label[for='#{radio[:id]}']").text end raise ArgumentError, 'availability_zone not selected' if .empty? .first end |