From 79164f82cb9fbdcdbe2dd6c07ff2f19aeeec1d4f Mon Sep 17 00:00:00 2001 From: Oleg Zharkov Date: Fri, 14 Aug 2020 18:53:32 +0200 Subject: [PATCH] lib-sub-folder functionality test --- .../src/mvc/library/library-folderrow-view.js | 16 ++++++--- lib/galaxy/selenium/navigates_galaxy.py | 8 ++--- lib/galaxy/selenium/navigation.yml | 7 ++++ .../selenium/test_library_contents.py | 34 +++++++++++++++++-- 4 files changed, 53 insertions(+), 12 deletions(-) diff --git a/client/src/mvc/library/library-folderrow-view.js b/client/src/mvc/library/library-folderrow-view.js index 2b53d92978b..4496b9b2593 100644 --- a/client/src/mvc/library/library-folderrow-view.js +++ b/client/src/mvc/library/library-folderrow-view.js @@ -267,13 +267,17 @@ var FolderRowView = Backbone.View.extend({ <% if( content_item.get("description").length > 40 ) { %> +
<%= _.escape(content_item.get("description")).substring(0, 40) + "..." %> +
<% } else { %> - <%= _.escape(content_item.get("description"))%> +
+ <%= _.escape(content_item.get("description"))%> +
<% } %> <% } else { %> - +
<% } %> <% } else if(edit_mode){ %> @@ -342,10 +346,12 @@ var FolderRowView = Backbone.View.extend({ <% if( content_item.get("message").length > 40 ) { %> +
<%= _.escape(content_item.get("message")).substring(0, 40) + "..." %> +
<% } else { %> - <%= _.escape(content_item.get("message"))%> +
<%= _.escape(content_item.get("message"))%>
<% } %> <% } %>
@@ -441,10 +447,12 @@ var FolderRowView = Backbone.View.extend({ <% if( content_item.get("description").length > 40 ) { %> +
<%= _.escape(content_item.get("description")).substring(0, 40) + "..." %> +
<% } else { %> - <%= _.escape(content_item.get("description"))%> +
<%= _.escape(content_item.get("description"))%>
<% } %> <% } else { %> diff --git a/lib/galaxy/selenium/navigates_galaxy.py b/lib/galaxy/selenium/navigates_galaxy.py index f730cecaf52..d9802e06870 100644 --- a/lib/galaxy/selenium/navigates_galaxy.py +++ b/lib/galaxy/selenium/navigates_galaxy.py @@ -926,12 +926,8 @@ class NavigatesGalaxy(HasDriver): def libraries_folder_create(self, name): self.components.libraries.folder.add_folder.wait_for_and_click() - - name_text_box = self.wait_for_selector_visible("textarea[name='input_folder_name']") - name_text_box.send_keys(name) - - create_button = self.wait_for_selector_clickable(".save_folder_btn") - create_button.click() + self.components.libraries.folder.input_folder_name.wait_for_and_send_keys(name) + self.components.libraries.folder.save_folder_btn.wait_for_and_click() def libraries_click_dataset_import(self): self.wait_for_and_click(self.navigation.libraries.folder.selectors.add_items_button) diff --git a/lib/galaxy/selenium/navigation.yml b/lib/galaxy/selenium/navigation.yml index c3cf2de278b..1b9061fc7c9 100644 --- a/lib/galaxy/selenium/navigation.yml +++ b/lib/galaxy/selenium/navigation.yml @@ -468,6 +468,13 @@ libraries: import_from_path_textarea: '#import_paths' select_all: '#select-all-checkboxes' select_one: '.lib-folder-checkbox' + empty_folder_message: '.empty-folder-message' + btn_open_upper_folder: '.btn_open_folder' + edit_folder_btn: '.edit_folder_btn' + description_field: '.description-field' + save_folder_btn: '.save_folder_btn' + input_folder_name: 'textarea[name="input_folder_name"]' + input_folder_description: '.input_folder_description' download_dropdown: '#download-dropdown-btn' delete_btn: '.toolbtn-bulk-delete' toast_msg: '.toast-message' diff --git a/lib/galaxy_test/selenium/test_library_contents.py b/lib/galaxy_test/selenium/test_library_contents.py index 3efc41809a2..1c076f927e7 100644 --- a/lib/galaxy_test/selenium/test_library_contents.py +++ b/lib/galaxy_test/selenium/test_library_contents.py @@ -15,12 +15,42 @@ class LibraryContentsTestCase(SeleniumTestCase): requires_admin = True @selenium_test - def test_create_folder(self): + def test_sub_folder(self): + def change_description(description): + self.components.libraries.folder.edit_folder_btn.wait_for_and_click() + self.components.libraries.folder.input_folder_description.wait_for_visible().clear() + self.components.libraries.folder.input_folder_description.wait_for_and_send_keys(description) + self.components.libraries.folder.save_folder_btn.wait_for_and_click() + + sub_folder_name = self._get_random_name(prefix="new_sub_folder") + description = self._get_random_name(prefix="new_sub_folder_description") + long_description = self._get_random_name(prefix="new_sub_folder_description", len=45) + + # create mew folder self._navigate_to_new_library() self._assert_num_displayed_items_is(0) - self.libraries_folder_create("folder1") + self.libraries_folder_create(sub_folder_name) self._assert_num_displayed_items_is(1) + # check empty folder + new_folder_link = self.wait_for_xpath_visible('//a[contains(text(), "%s")]' % sub_folder_name) + new_folder_link.click() + + # assert that 'empty folder message' is present + self.components.libraries.folder.empty_folder_message.wait_for_present() + # go one folder up + self.components.libraries.folder.btn_open_upper_folder.wait_for_and_click() + # assert empty description + self.components.libraries.folder.description_field.assert_absent_or_hidden() + # change description + change_description(description) + assert description == self.components.libraries.folder.description_field.wait_for_text() + change_description(long_description) + + # assert shrinked description + shrinked_description = long_description[0:40] + "..." + assert shrinked_description == self.components.libraries.folder.description_field.wait_for_text() + @selenium_test def test_import_dataset_from_history(self): self.admin_login()