X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3d5ffcdc1c522d8252470d9ab448e3872e0a3a58..332015d1131801b0280aa37aa00eefa5c3c00bd4:/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 313bde64ec..1c8139e6c6 100644 --- a/apps/workbench/test/integration/pipeline_instances_test.rb +++ b/apps/workbench/test/integration/pipeline_instances_test.rb @@ -2,7 +2,7 @@ require 'integration_helper' class PipelineInstancesTest < ActionDispatch::IntegrationTest setup do - Capybara.current_driver = Capybara.javascript_driver + need_javascript end test 'Create and run a pipeline' do @@ -267,39 +267,25 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest ].each do |user, with_options, choose_options, in_aproject| test "Rerun pipeline instance as #{user} using options #{with_options} #{choose_options} in #{in_aproject}" do if in_aproject - visit page_with_token 'active', \ - '/projects/'+api_fixture('groups')['aproject']['uuid'] + path = '/pipeline_instances/'+api_fixture('pipeline_instances')['pipeline_owned_by_active_in_aproject']['uuid'] else - visit page_with_token 'active', '/' - end - - # need bigger modal size when choosing a file from collection - if Capybara.current_driver == :selenium - Capybara.current_session.driver.browser.manage.window.resize_to(1200, 800) + path = '/pipeline_instances/'+api_fixture('pipeline_instances')['pipeline_owned_by_active_in_home']['uuid'] end - create_and_run_pipeline_in_aproject in_aproject, 'Two Part Pipeline Template', 'foo_collection_in_aproject' - instance_path = current_path + visit page_with_token(user, path) - # Pause the pipeline - find('a,button', text: 'Pause').click - assert page.has_text? 'Paused' - page.assert_no_selector 'a.disabled,button.disabled', text: 'Resume' page.assert_selector 'a,button', text: 'Re-run with latest' page.assert_selector 'a,button', text: 'Re-run options' - # Pipeline can be re-run now. Access it as the specified user, and re-run - if user == 'project_viewer' - visit page_with_token(user, instance_path) + if user == 'project_viewer' && in_aproject assert page.has_text? 'A Project' - page.assert_no_selector 'a.disabled,button.disabled', text: 'Resume' - page.assert_selector 'a,button', text: 'Re-run with latest' - page.assert_selector 'a,button', text: 'Re-run options' end # Now re-run the pipeline if with_options - find('a,button', text: 'Re-run options').click + assert_triggers_dom_event 'shown.bs.modal' do + find('a,button', text: 'Re-run options').click + end within('.modal-dialog') do page.assert_selector 'a,button', text: 'Copy and edit inputs' page.assert_selector 'a,button', text: 'Run now' @@ -313,15 +299,16 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest find('a,button', text: 'Re-run with latest').click end - # Verify that the newly created instance is created in the right project. - # In case of project_viewer user, since the use cannot write to the project, - # the pipeline should have been created in the user's Home project. - assert_not_equal instance_path, current_path, 'Rerun instance path expected to be different' - assert page.has_text? 'Home' + # Verify that the newly created instance is created in the right + # project. In case of project_viewer user, since the user cannot + # write to the project, the pipeline should have been created in + # the user's Home project. + assert_not_equal path, current_path, 'Rerun instance path expected to be different' + assert_text 'Home' if in_aproject && (user != 'project_viewer') - assert page.has_text? 'A Project' + assert_text 'A Project' else - assert page.has_no_text? 'A Project' + assert_no_text 'A Project' end end end @@ -440,8 +427,7 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest ['admin', nil, 40, 200], ['admin', 'FUSE project', 1, 1], ['admin', 'pipeline_10', 2, 2], - ['active', 'containing at least two', 2, 100], # component description - ['admin', 'containing at least two', 2, 100], + ['active', 'containing at least two', 2, 100], ['active', nil, 10, 100], ['active', 'no such match', 0, 0], ].each do |user, search_filter, expected_min, expected_max| @@ -482,5 +468,4 @@ class PipelineInstancesTest < ActionDispatch::IntegrationTest end end end - end