Skip to content

Commit

Permalink
More test cases for collection builders.
Browse files Browse the repository at this point in the history
- Add test case for building paired lists.
- Add tests for new hide original datasets functionality for lists and paired lists.
  • Loading branch information
jmchilton committed Mar 24, 2017
1 parent 5fa5467 commit 82ca693
Show file tree
Hide file tree
Showing 3 changed files with 103 additions and 8 deletions.
25 changes: 25 additions & 0 deletions test/galaxy_selenium/navigates_galaxy.py
Expand Up @@ -151,6 +151,14 @@ def history_has_hid(driver):
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)
Expand Down Expand Up @@ -364,6 +372,11 @@ def history_options_menu_selector(self):
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"]

Expand Down Expand Up @@ -445,6 +458,18 @@ def click_hda_title(self, hda_id, wait=False):
# 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()
Expand Down
1 change: 1 addition & 0 deletions test/qunit/test-data/paired-collection-creator.data.js
Expand Up @@ -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",
Expand Down
85 changes: 77 additions & 8 deletions test/selenium_tests/test_collection_builders.py
Expand Up @@ -14,13 +14,27 @@ def test_build_list_simple(self):
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"))
Expand All @@ -31,9 +45,64 @@ def test_build_pair_simple(self):
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")

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")

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)
self.history_panel_wait_for_hid_hidden(1)
self.history_panel_wait_for_hid_hidden(2)

0 comments on commit 82ca693

Please sign in to comment.