X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/501ae28f1ed87af5f5d2b91546d8b973e1ee2a39..5605c33a0646b155c18482c8157be4d154382565:/apps/workbench/test/integration/pipeline_instances_test.rb diff --git a/apps/workbench/test/integration/pipeline_instances_test.rb b/apps/workbench/test/integration/pipeline_instances_test.rb index c3ec3f5829..7053d39bfd 100644 --- a/apps/workbench/test/integration/pipeline_instances_test.rb +++ b/apps/workbench/test/integration/pipeline_instances_test.rb @@ -18,17 +18,17 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest find('a,button', text: 'Run').click end + # project chooser + within('.modal-dialog') do + find('.selectable', text: 'A Project').click + find('button', text: 'Choose').click + end + # This pipeline needs input. So, Run should be disabled page.assert_selector 'a.disabled,button.disabled', text: 'Run' instance_page = current_path - find('button', text: 'Choose a folder...').click - within('.modal-dialog') do - find('.selectable', text: 'A Folder').click - find('button', text: 'Move').click - end - # Go over to the collections page and select something visit '/collections' within('tr', text: 'GNU_General_Public_License') do @@ -36,15 +36,16 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest end find('#persistent-selection-count').click - # Add this collection to the folder - visit '/folders' - find('.arv-folder-list a,button', text: 'A Folder').click + # Add this collection to the project + visit '/projects' + find('.arv-project-list a,button', text: 'A Project').click find('.btn', text: 'Add data').click find('span', text: 'foo_tag').click within('.modal-dialog') do find('.btn', text: 'Add').click end - + + click_link 'Jobs and pipelines' find('tr[data-kind="arvados#pipelineInstance"]', text: 'New pipeline instance'). find('a', text: 'Show'). click @@ -56,7 +57,7 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest click within('.modal-dialog') do - find('span', text: 'foo_tag').click + first('span', text: 'foo_tag').click find('button', text: 'OK').click end @@ -80,4 +81,69 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest assert_not page.has_text? 'Graph' end + # Create a pipeline instance from within a project and run + test 'Create pipeline inside a project 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 project using collections menu from top nav + visit '/projects' + find('.arv-project-list a,button', text: 'A Project').click + + find('li.selection-menu > a').click + click_button 'Copy selections into this project' + + # 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 + first('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') + + visit '/pipeline_instances' + assert page.has_text? 'pipeline_with_job' + + find('a', text: 'pipeline_with_job').click + + # since the pipeline component has a job, expect to see the graph + assert page.has_text? 'Graph' + click_link 'Graph' + assert page.has_text? 'script_version' + end + end