Class: Prof::OpsManager::WebAppInternals::Page::Dashboard
- Inherits:
-
Object
- Object
- Prof::OpsManager::WebAppInternals::Page::Dashboard
- Defined in:
- lib/prof/ops_manager/web_app_internals/page/dashboard.rb
Defined Under Namespace
Classes: ModalPresent
Instance Method Summary collapse
- #apply_changes ⇒ Object
- #apply_setting(target_tile, field_name, field_value) ⇒ Object
-
#initialize(opts = {}) ⇒ Dashboard
constructor
A new instance of Dashboard.
- #pending_changes ⇒ Object
- #pending_changes? ⇒ Boolean
- #tile(tile) ⇒ Object
- #tile_configuration(target_tile) ⇒ Object
- #tile_configure(target_tile, configuration) ⇒ Object
- #tile_configured?(target_tile) ⇒ Boolean
- #tile_uninstall(target_tile) ⇒ Object
Constructor Details
#initialize(opts = {}) ⇒ Dashboard
Returns a new instance of Dashboard.
23 24 25 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 23 def initialize(opts = {}) @page = opts.fetch(:page) end |
Instance Method Details
#apply_changes ⇒ Object
70 71 72 73 74 75 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 70 def apply_changes check_no_modal! page. 'Apply changes' InstallationProgress.new(page: page) end |
#apply_setting(target_tile, field_name, field_value) ⇒ Object
54 55 56 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 54 def apply_setting(target_tile, field_name, field_value) tile(target_tile).set_field_value('Resource Config', field_name, field_value).return_to_dashboard end |
#pending_changes ⇒ Object
81 82 83 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 81 def pending_changes page.all('.pending-changes-list li').map(&:text) end |
#pending_changes? ⇒ Boolean
77 78 79 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 77 def pending_changes? pending_changes.any? end |
#tile(tile) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 27 def tile(tile) begin page.find("#show-#{tile.name}-configure-action").click rescue ::ElementNotFound page.visit(page.current_url) page.find("#show-#{tile.name}-configure-action").click end TileSettings.new(page: page) end |
#tile_configuration(target_tile) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 42 def tile_configuration(target_tile) tile_setting_page = tile(target_tile) Hash.new.tap do |config| tile_setting_page.setting_names.each do |setting_name| config[setting_name] = tile_setting_page.settings_for(setting_name) end tile_setting_page.return_to_dashboard end end |
#tile_configure(target_tile, configuration) ⇒ Object
38 39 40 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 38 def tile_configure(target_tile, configuration) tile(target_tile).configure(configuration) end |
#tile_configured?(target_tile) ⇒ Boolean
58 59 60 61 62 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 58 def tile_configured?(target_tile) page.find("#show-#{target_tile.name}-configure-action")['data-progress'] == '100' rescue ::ElementNotFound false end |
#tile_uninstall(target_tile) ⇒ Object
64 65 66 67 68 |
# File 'lib/prof/ops_manager/web_app_internals/page/dashboard.rb', line 64 def tile_uninstall(target_tile) page.find("#show-#{target_tile.name}-configure-action ~ #open-delete-#{target_tile.name}-modal").click modal.confirm rescue ::ElementNotFound end |