More test cases for collection builders.

- Add test case for building paired lists.
- Add tests for new hide original datasets functionality for lists and paired lists.
This commit is contained in:
John Chilton
2017-03-24 10:07:58 -04:00
parent 5fa546749b
commit 82ca6931c0
3 changed files with 103 additions and 8 deletions
+25
View File
@@ -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()
@@ -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",
@@ -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)