- ['active', false, false, false, 'Two Part Pipeline Template', false],
- ['active', false, false, true, 'Two Part Pipeline Template', false],
- ['active', true, false, false, 'Two Part Pipeline Template', false],
- ['active', true, true, false, 'Two Part Pipeline Template', false],
- ['active', true, false, true, 'Two Part Pipeline Template', false],
- ['active', true, true, true, 'Two Part Pipeline Template', false],
- ['project_viewer', false, false, true, 'Two Part Pipeline Template', false],
- ['project_viewer', true, false, true, 'Two Part Pipeline Template', false],
- ['project_viewer', true, true, true, 'Two Part Pipeline Template', false],
- ['active', false, false, false, 'Two Part Template with dataclass File', true],
- ['active', false, false, true, 'Two Part Template with dataclass File', true],
- ].each do |user, with_options, choose_options, in_aproject, template_name, choose_file|
- test "Rerun pipeline instance as #{user} using options #{with_options} #{choose_options}
- in #{in_aproject} with #{template_name} with file #{choose_file}" do
+ [true, 'Two Part Pipeline Template', 'foo_collection_in_aproject', false],
+ [false, 'Two Part Pipeline Template', 'foo_collection_in_aproject', false],
+ [true, 'Two Part Template with dataclass File', 'foo_collection_in_aproject', true],
+ [false, 'Two Part Template with dataclass File', 'foo_collection_in_aproject', true],
+ [true, 'Two Part Pipeline Template', 'collection_with_no_name_in_aproject', false],
+ ].each do |in_aproject, template_name, collection, choose_file|
+ test "Run pipeline instance in #{in_aproject} with #{template_name} with #{collection} file #{choose_file}" do
+ visit page_with_token('active')
+
+ # need bigger modal size when choosing a file from collection
+ Capybara.current_session.driver.browser.manage.window.resize_to(1024, 768)
+
+ if in_aproject
+ find("#projects-menu").click
+ find('.dropdown-menu a,button', text: 'A Project').click
+ end
+
+ create_and_run_pipeline_in_aproject in_aproject, template_name, collection, choose_file
+ instance_path = current_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'
+
+ # Verify that the newly created instance is created in the right project.
+ assert page.has_text? 'Home'
+ if in_aproject
+ assert page.has_text? 'A Project'
+ else
+ assert page.has_no_text? 'A Project'
+ end
+ end
+ end
+
+ [
+ ['active', false, false, false],
+ ['active', false, false, true],
+ ['active', true, false, false],
+ ['active', true, true, false],
+ ['active', true, false, true],
+ ['active', true, true, true],
+ ['project_viewer', false, false, true],
+ ['project_viewer', true, true, true],
+ ].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