diff --git a/test/galaxy_selenium/navigates_galaxy.py b/test/galaxy_selenium/navigates_galaxy.py index b4b4584420c..f7319067189 100644 --- a/test/galaxy_selenium/navigates_galaxy.py +++ b/test/galaxy_selenium/navigates_galaxy.py @@ -151,6 +151,14 @@ class NavigatesGalaxy(HasDriver): self.wait_for_selector_visible(history_item_selector) return history_item_selector + def history_panel_wait_for_hid_hidden(self, hid, timeout=60): + current_history_id = self.current_history_id() + contents = self.api_get("histories/%s/contents" % current_history_id) + history_item = [d for d in contents if d["hid"] == hid][0] + history_item_selector = "#%s-%s" % (history_item["history_content_type"], history_item["id"]) + self.wait_for_selector_absent(history_item_selector) + return history_item_selector + def history_panel_wait_for_hid_state(self, hid, state, timeout=60): history_item_selector = self.history_panel_wait_for_hid_visible(hid, timeout=timeout) history_item_selector_state = "%s.state-%s" % (history_item_selector, state) @@ -364,6 +372,11 @@ class NavigatesGalaxy(HasDriver): menu_selector = self.test_data["historyOptions"]["selectors"]["menu"] return menu_selector + @retry_during_transitions + def history_panel_refresh_click(self): + refresh_item = self.wait_for_selector_clickable("#history-refresh-button") + refresh_item.click() + def history_panel_multi_operations_selector(self): return self.test_data["historyPanel"]["selectors"]["history"]["multiOperationsIcon"] @@ -445,6 +458,18 @@ class NavigatesGalaxy(HasDriver): # TODO: Replace with calls to history_panel_click_item_title. return self.history_panel_click_item_title(hda_id=hda_id, wait=wait) + def collection_builder_set_name(self, name): + name_element = self.wait_for_selector_visible("input.collection-name") + name_element.send_keys(name) + + def collection_builder_hide_originals(self): + hide_element = self.wait_for_selector_clickable("input.hide-originals") + hide_element.click() + + def collection_builder_create(self): + create_element = self.wait_for_selector_clickable("button.create-collection") + create_element.click() + def logout_if_needed(self): if self.is_logged_in(): self.home() diff --git a/test/qunit/test-data/paired-collection-creator.data.js b/test/qunit/test-data/paired-collection-creator.data.js index f196b3c595e..49158bf93cd 100644 --- a/test/qunit/test-data/paired-collection-creator.data.js +++ b/test/qunit/test-data/paired-collection-creator.data.js @@ -22,6 +22,7 @@ var datasets1CreateRequestJSON = { "type": "dataset_collection", "collection_type": "list:paired", "name": "Heres a collection", + "hide_source_items": false, "element_identifiers": [ { "collection_type": "paired", diff --git a/test/selenium_tests/test_collection_builders.py b/test/selenium_tests/test_collection_builders.py index f487d49d584..ba911c10815 100644 --- a/test/selenium_tests/test_collection_builders.py +++ b/test/selenium_tests/test_collection_builders.py @@ -14,13 +14,27 @@ class CollectionBuildersTestCase(SeleniumTestCase): self.history_panel_muli_operation_select_hid(1) self.history_panel_multi_operation_action_click("Build Dataset List") - name_element = self.wait_for_selector_visible("input.collection-name") - name_element.send_keys("my cool list") + self.collection_builder_set_name("my cool list") - create_element = self.wait_for_selector_clickable("button.create-collection") - create_element.click() + self.collection_builder_create() self.history_panel_wait_for_hid_ok(2) + @selenium_test + def test_build_list_and_hide_items(self): + self.perform_upload(self.get_filename("1.fasta")) + self.history_panel_wait_for_hid_ok(1) + self.history_panel_multi_operations_show() + self.history_panel_muli_operation_select_hid(1) + self.history_panel_multi_operation_action_click("Build Dataset List") + + self.collection_builder_hide_originals() + self.collection_builder_set_name("my cool list") + + self.collection_builder_create() + self.history_panel_wait_for_hid_ok(2) + self.history_panel_refresh_click() + self.history_panel_wait_for_hid_hidden(1) + @selenium_test def test_build_pair_simple(self): self.perform_upload(self.get_filename("1.tabular")) @@ -31,9 +45,64 @@ class CollectionBuildersTestCase(SeleniumTestCase): self.history_panel_muli_operation_select_hid(1) self.history_panel_muli_operation_select_hid(2) self.history_panel_multi_operation_action_click("Build Dataset Pair") - name_element = self.wait_for_selector_visible("input.collection-name") - name_element.send_keys("my awesome pair") + self.collection_builder_set_name("my awesome pair") - create_element = self.wait_for_selector_clickable("button.create-collection") - create_element.click() + self.collection_builder_create() self.history_panel_wait_for_hid_ok(3) + + @selenium_test + def test_build_paired_list_simple(self): + self.perform_upload(self.get_filename("1.tabular")) + self.perform_upload(self.get_filename("2.tabular")) + self.history_panel_wait_for_hid_visible(1) + self.history_panel_wait_for_hid_visible(2) + self.history_panel_multi_operations_show() + self.history_panel_muli_operation_select_hid(1) + self.history_panel_muli_operation_select_hid(2) + self.history_panel_multi_operation_action_click("Build List of Dataset Pairs") + + clear_filter_link = self.wait_for_selector_visible("a.clear-filters-link") + clear_filter_link.click() + + forward_column = self.wait_for_selector_visible(".forward-column .column-datasets") + first_datset_forward = forward_column.find_elements_by_css_selector("li")[0] + first_datset_forward.click() + + reverse_column = self.wait_for_selector_visible(".reverse-column .column-datasets") + second_dataset_reverse = reverse_column.find_elements_by_css_selector("li")[1] + second_dataset_reverse.click() + + self.collection_builder_set_name("my awesome paired list") + + self.collection_builder_create() + self.history_panel_wait_for_hid_ok(3) + + @selenium_test + def test_build_paired_list_hide_original(self): + self.perform_upload(self.get_filename("1.tabular")) + self.perform_upload(self.get_filename("2.tabular")) + self.history_panel_wait_for_hid_visible(1) + self.history_panel_wait_for_hid_visible(2) + self.history_panel_multi_operations_show() + self.history_panel_muli_operation_select_hid(1) + self.history_panel_muli_operation_select_hid(2) + self.history_panel_multi_operation_action_click("Build List of Dataset Pairs") + + clear_filter_link = self.wait_for_selector_visible("a.clear-filters-link") + clear_filter_link.click() + + forward_column = self.wait_for_selector_visible(".forward-column .column-datasets") + first_datset_forward = forward_column.find_elements_by_css_selector("li")[0] + first_datset_forward.click() + + reverse_column = self.wait_for_selector_visible(".reverse-column .column-datasets") + second_dataset_reverse = reverse_column.find_elements_by_css_selector("li")[1] + second_dataset_reverse.click() + + self.collection_builder_hide_originals() + self.collection_builder_set_name("my awesome paired list") + + self.collection_builder_create() + self.history_panel_wait_for_hid_ok(3) + self.history_panel_wait_for_hid_hidden(1) + self.history_panel_wait_for_hid_hidden(2)