2872: added a test that creates a pipeline instance from within a folder and runs it.
authorradhika <radhika@curoverse.com>
Sat, 7 Jun 2014 12:41:55 +0000 (08:41 -0400)
committerradhika <radhika@curoverse.com>
Sat, 7 Jun 2014 12:41:55 +0000 (08:41 -0400)
apps/workbench/test/integration/pipeline_instances_test.rb

index 4c100c21a408b270cd05d0ba9d14deefc4874631..449c130bfdab8bbaa59b838061166fb61d47bffa 100644 (file)
@@ -23,6 +23,7 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest
 
     instance_page = current_path
 
+    # put this pipeline instance in "A Folder"
     find('button', text: 'Choose a folder...').click
     within('.modal-dialog') do
       find('.selectable', text: 'A Folder').click
@@ -80,6 +81,59 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest
     assert_not page.has_text? 'Graph'
   end
 
+  # Create a pipeline instance from within a folder and run
+  test 'Create pipeline inside a folder and run' do
+    visit page_with_token('active_trustedclient')
+
+    # Go over to the collections page and select something
+    visit '/collections'
+    within('tr', text: 'GNU_General_Public_License') do
+      find('input[type=checkbox]').click
+    end
+    find('#persistent-selection-count').click
+
+    # Add this collection to the folder
+    visit '/folders'
+    find('.arv-folder-list a,button', text: 'A Folder').click
+    find('.btn', text: 'Add data').click
+    find('span', text: 'foo_tag').click
+    within('.modal-dialog') do
+      find('.btn', text: 'Add').click
+    end
+
+    # create a pipeline instance
+    find('.btn', text: 'Run a pipeline').click
+    within('.modal-dialog') do
+      assert page.has_text? 'Two Part Pipeline Template'
+      find('.fa-gear').click
+      find('.btn', text: 'Next: choose inputs').click
+    end
+
+    assert find('p', text: 'Provide a value')
+
+    find('div.form-group', text: 'Foo/bar pair').
+      find('.btn', text: 'Choose').
+      click
+
+    within('.modal-dialog') do
+      find('span', text: 'foo_tag').click
+      find('button', text: 'OK').click
+    end
+
+    wait_for_ajax
+
+    # "Run" button present and enabled
+    page.assert_no_selector 'a.disabled,button.disabled', text: 'Run'
+    first('a,button', text: 'Run').click
+
+    # Pipeline is running. We have a "Stop" button instead now.
+    page.assert_no_selector 'a,button', text: 'Run'
+    page.assert_selector 'a,button', text: 'Stop'
+
+    # Since it is test env, no jobs are created to run. So, graph not visible
+    assert_not page.has_text? 'Graph'
+  end
+
   test 'view pipeline with job and see graph' do
     visit page_with_token('active_trustedclient')