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 d582a414dca..5a09b4da4bf 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()