diff --git a/client/src/utils/navigation/navigation.yml b/client/src/utils/navigation/navigation.yml index 2b792f2df15..29771100eb8 100644 --- a/client/src/utils/navigation/navigation.yml +++ b/client/src/utils/navigation/navigation.yml @@ -242,6 +242,7 @@ history_panel: tag_area_button: '.details .stateless-tags .multiselect button' tag_area_input: '.details .stateless-tags .multiselect input' list_items: '.dataset-collection-panel .listing .content-item' + back_to_history: svg[data-description="back to history"] selectors: _: '#current-history-panel' @@ -492,6 +493,11 @@ tool_form: parameter_checkbox: 'div.ui-form-element[id="form-element-${parameter}"] .ui-switch' parameter_input: 'div.ui-form-element[id="form-element-${parameter}"] .ui-input' parameter_textarea: 'div.ui-form-element[id="form-element-${parameter}"] textarea' + parameter_batch_dataset_collection: + type: xpath + selector: //div[@id='form-element-${parameter}']//i[contains(@class, 'fa-folder-o')]/parent::label + data_option_value: option[value="${item_id}"] + repeat_insert: '[data-description="repeat insert"]' reference: '.formatted-reference' about: '.tool-footer' diff --git a/lib/galaxy_test/selenium/test_tool_form.py b/lib/galaxy_test/selenium/test_tool_form.py index d27b36b43e4..768ca62b3e3 100644 --- a/lib/galaxy_test/selenium/test_tool_form.py +++ b/lib/galaxy_test/selenium/test_tool_form.py @@ -114,6 +114,38 @@ class TestToolForm(SeleniumTestCase, UsesHistoryItemAssertions): self.history_panel_wait_for_hid_ok(2) self._check_dataset_details_for_inttest_value(2) + @selenium_test + def test_rerun_dataset_collection_element(self): + # upload a first dataset that should not become selected on re-run + test_path = self.get_filename("1.fasta") + self.perform_upload(test_path) + self.history_panel_wait_for_hid_ok(1) + + history_id = self.current_history_id() + # upload a nested collection + collection_id = self.dataset_collection_populator.create_list_of_list_in_history( + history_id, + collection_type="list:list", + wait=True, + ).json()["id"] + self.tool_open("identifier_multiple") + self.components.tool_form.parameter_batch_dataset_collection(parameter="input1").wait_for_and_click() + self.sleep_for(self.wait_types.UX_RENDER) + self.components.tool_form.data_option_value(item_id=collection_id).wait_for_and_click() + self.sleep_for(self.wait_types.UX_RENDER) + self.tool_form_execute() + self.history_panel_wait_for_hid_ok(7) + self.history_panel_expand_collection(7) + self.sleep_for(self.wait_types.UX_RENDER) + self.history_panel_click_item_title(1) + self.sleep_for(self.wait_types.UX_RENDER) + self.hda_click_primary_action_button(1, "rerun") + self.sleep_for(self.wait_types.UX_RENDER) + assert self.driver.find_element(By.CSS_SELECTOR, "option:checked").text == "Selected: test0" + self.tool_form_execute() + self.components.history_panel.collection_view.back_to_history.wait_for_and_click() + self.history_panel_wait_for_hid_ok(9) + @selenium_test @flakey def test_run_data(self):