def test_lhn_stays_expanded(self, header_dashboard, selenium): """Tests if, after opening LHN, it slides out and stays expanded.""" lhn_menu = header_dashboard.open_lhn_menu() initial_position = lhn_menu.my_objects.element.location selenium_utils.wait_until_stops_moving(lhn_menu.my_objects.element) selenium_utils.hover_over_element( selenium, dashboard.Header(selenium).button_my_tasks.element) assert initial_position == lhn.Menu(selenium).my_objects.element.location
def hover_over_visible_member(self, member_title): """Hovers over visible member with (unique) title "member_title". Args: member_title (basestring): (unique) title of member """ try: el = self._get_visible_member_by_title(member_title) selenium_utils.hover_over_element(self._driver, el) selenium_utils.get_when_visible( self._driver, locator.LhnMenu.EXTENDED_INFO) return extended_info.ExtendedInfo(self._driver) except selenium_exception.StaleElementReferenceException: return self.hover_over_visible_member(member_title)
def select_map(self): """ Click on "Map to this object" button in dropdown. Before this, check whether the dropdown is display. If no open it Returns: Unified mapper """ if not self.dropdown_element.is_displayed(): selenium_utils.hover_over_element(self._driver, self.dropdown_btn) self.dropdown_btn.click() self.get_dropdown_item(self._elements.MAP).click() return unified_mapper.MapObjectsModal(self._driver, self.obj_name)
def test_mapping_via_lhn(self, selenium, new_product, new_project, new_system, new_data_asset, new_process): """LHN mapping tests from smoke tests, section 6""" objects = [ new_product, new_project, new_system, new_data_asset, new_process ] for object_ in objects: selenium.get(object_.url) header = dashboard.Header(selenium) # map objects for mapped_object in objects: # don't map an object to itself if mapped_object != object_: extended_info = conftest_utils\ .get_lhn_accordion(selenium, mapped_object.object_name)\ .hover_over_visible_member(mapped_object.title_entered.text) if not extended_info.is_mapped: extended_info.map_to_object() # workaround for CORE-3324 selenium_utils.hover_over_element( selenium, header.toggle_user_dropdown.element) # close LHN so that the contents are seen header.close_lhn_menu() widget = factory.get_cls_widget( mapped_object.object_name)(selenium) # check that the focus is on relevant widget assert widget.name_from_url in mapped_object.object_name # check items count assert widget.member_count == 1 # check that all mapped widgets are shown widget_bar = dashboard.Dashboard(selenium) for mapped_object in objects: if mapped_object != object_: # select a widget getattr( widget_bar, factory.get_method_select(mapped_object.object_name))() # verify widget widget = factory.get_cls_widget( mapped_object.object_name)(selenium) assert widget.name_from_url in mapped_object.object_name
def open_tree_actions_dropdown_by_title(self, title): """Open dropdown of obj on Tree View by title. Hover mouse on dropdown button. Return: lib.element.tree_view."dropdown_obj" """ button_num = self._get_item_num_by_title(title) item_dropdown_button = self.tree_view_items()[button_num].item_btn selenium_utils.hover_over_element( self._driver, self.tree_view_items_elements()[button_num]) selenium_utils.hover_over_element(self._driver, item_dropdown_button) item_dropdown_button.click() return self.dropdown_tree_view_item_cls(self._driver, self.obj_name, item_dropdown_button)
def open_tree_actions_dropdown_by_title(self, title): """Open dropdown of obj on Tree View by title. Hover mouse on dropdown button. Return: lib.element.tree_view."dropdown_obj" """ button_num = self._get_item_num_by_title(title) item_dropdown_button = self.tree_view_items()[button_num].item_btn selenium_utils.hover_over_element( self._driver, self.tree_view_items_elements()[button_num]) selenium_utils.hover_over_element( self._driver, item_dropdown_button) item_dropdown_button.click() return self.dropdown_tree_view_item_cls(self._driver, self.obj_name, item_dropdown_button)
def test_lhn_stays_expanded(self, selenium): """Tests if, after opening the LHN, it slides out and stays expanded.""" conftest_utils.navigate_to_page_with_lhn(selenium) lhn_menu = dashboard.Header(selenium).open_lhn_menu() initial_position = lhn_menu.my_objects.element.location selenium_utils.wait_until_stops_moving(lhn_menu.my_objects.element) selenium_utils.hover_over_element( selenium, dashboard.Header(selenium).button_my_tasks.element) assert initial_position == \ lhn.Menu(selenium).my_objects.element.location
def open_tree_actions_dropdown_by_title(self, title): """Open dropdown of obj on Tree View by title. Hover mouse on dropdown button. Return: lib.element.tree_view."dropdown_obj" """ button_num = self._get_item_num_by_title(title) item_dropdown_button = self.tree_view_items()[button_num].item_btn selenium_utils.hover_over_element( self._driver, self.tree_view_items()[button_num].element) selenium_utils.hover_over_element( self._driver, item_dropdown_button) item_dropdown_button.click() dropdown_menu_element = item_dropdown_button.find_element( *self._locators.ITEM_DROPDOWN_MENU_CSS) return self.dropdown_tree_view_item_cls(self._driver, self.obj_name, dropdown_menu_element)
def open_tree_actions_dropdown_by_title(self, title): """Open dropdown of obj on Tree View by title. Hover mouse on dropdown button. Return: lib.element.tree_view."dropdown_obj" """ # pylint: disable=invalid-name obj = self.find_row(title) item_dropdown_button = obj.item_btn selenium_utils.hover_over_element(self._driver, obj.element) selenium_utils.hover_over_element(self._driver, item_dropdown_button) item_dropdown_button.click() dropdown_menu_element = item_dropdown_button.find_element( *self._locators.ITEM_DD_MENU_CSS) return self.dropdown_tree_view_item_cls(self._driver, self.obj_name, dropdown_menu_element)
def open_tree_actions_dropdown_by_title(self, title): """Open dropdown of obj on Tree View by title. Hover mouse on dropdown button. Return: lib.element.tree_view."dropdown_obj" """ # pylint: disable=invalid-name button_num = self._get_item_num_by_title(title) item_dropdown_button = self.tree_view_items()[button_num].item_btn selenium_utils.hover_over_element( self._driver, self.tree_view_items()[button_num].element) selenium_utils.hover_over_element( self._driver, item_dropdown_button) item_dropdown_button.click() dropdown_menu_element = item_dropdown_button.find_element( *self._locators.ITEM_DD_MENU_CSS) return self.dropdown_tree_view_item_cls(self._driver, self.obj_name, dropdown_menu_element)
def test_mapping_via_lhn( self, selenium, new_product_ui, new_project_ui, new_system_ui, new_data_asset_ui, new_process_ui ): """LHN mapping tests from smoke tests, section 6.""" objects = [new_product_ui, new_project_ui, new_system_ui, new_data_asset_ui, new_process_ui] for object_ in objects: selenium.get(object_.url) header = dashboard.Header(selenium) # map objects for mapped_object in objects: # don't map an object to itself if mapped_object != object_: extended_info = ( conftest_utils.get_lhn_accordion( selenium, mapped_object.object_name).hover_over_visible_member( mapped_object.title_entered.text)) if not extended_info.is_mapped: extended_info.map_to_object() # workaround for CORE-3324 selenium_utils.hover_over_element( selenium, header.toggle_user_dropdown.element) # close LHN so that the contents are seen header.close_lhn_menu() widget = ( factory.get_cls_widget(mapped_object.object_name)(selenium)) # check that the focus is on relevant widget assert widget.name_from_url in mapped_object.object_name # check items count assert widget.member_count == 1 # check that all mapped widgets are shown widget_bar = dashboard.Dashboard(selenium) for mapped_object in objects: if mapped_object != object_: # select a widget getattr(widget_bar, factory.get_method_select(mapped_object.object_name))() # verify widget widget = ( factory.get_cls_widget(mapped_object.object_name)(selenium)) assert widget.name_from_url in mapped_object.object_name