X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2cd1c3ed705e639fb9e4ef067a32b278a6d3d4ee..61dbc4445159c9140b0744bf5526ce0f71f4f374:/apps/workbench/test/integration/application_layout_test.rb diff --git a/apps/workbench/test/integration/application_layout_test.rb b/apps/workbench/test/integration/application_layout_test.rb index 2d101f94e4..61905f31b2 100644 --- a/apps/workbench/test/integration/application_layout_test.rb +++ b/apps/workbench/test/integration/application_layout_test.rb @@ -250,21 +250,90 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest visit page_with_token(token) assert_text 'Recent pipelines and processes' # seeing dashboard now + within('.recent-processes-actions') do + assert page.has_link?('Run a pipeline') + assert page.has_link?('All pipelines') + end + within('.recent-processes') do - page.has_button? 'Run a pipeline' - page.has_link? 'All pipelines' - assert_text 'zzzzz-d1hrv-partdonepipelin' + assert_text 'running_with_job' + within('.row-zzzzz-d1hrv-runningpipeline') do + assert_text 'foo' + end + assert_text 'zzzzz-d1hrv-twodonepipeline' - assert_text 'zzzzz-dz642-runningcontainr' - assert_text 'zzzzz-dz642-runningcontain2' + within('.row-zzzzz-d1hrv-twodonepipeline')do + assert_text 'No output' + end + + assert_text 'completed container request' + within('.row-zzzzz-xvhdp-cr4completedctr')do + assert page.has_link? 'foo_file' + end + end + + within('.compute-node-actions') do + if is_admin + assert page.has_link?('All nodes') + else + assert page.has_no_link?('All nodes') + end + assert page.has_link? 'All jobs' end within('.compute-node-summary-pane') do - page.has_link?('All nodes') if is_admin - page.has_link? 'All jobs' click_link 'Details' assert_text 'compute0' end end end + + [ + ['jobs', 'running_job_with_components', true], + ['pipeline_instances', 'components_is_jobspec', false], + ['containers', 'running', false], + ['container_requests', 'running', true], + ].each do |type, fixture, cancelable| + test "cancel button for #{type}/#{fixture}" do + if cancelable + need_selenium 'to cancel' + end + + obj = api_fixture(type)[fixture] + visit page_with_token "active", "/#{type}/#{obj['uuid']}" + + assert_text 'created_at' + if cancelable + assert page.has_button?('Cancel'), 'No Cancel button' + click_button 'Cancel' + wait_for_ajax + assert page.has_no_button?('Cancel'), 'Cancel button not expected after clicking' + else + assert page.has_no_button?('Cancel'), 'Cancel button not expected' + end + end + end + + [ + ['jobs', 'running_job_with_components'], + ['pipeline_instances', 'has_component_with_completed_jobs'], + ['container_requests', 'running'], + ['container_requests', 'completed'], + ].each do |type, fixture| + test "edit description for #{type}/#{fixture}" do + obj = api_fixture(type)[fixture] + visit page_with_token "active", "/#{type}/#{obj['uuid']}" + + within('.arv-description-as-subtitle') do + find('.fa-pencil').click + find('.editable-input textarea').set('*Textile description for object*') + find('.editable-submit').click + end + wait_for_ajax + + # verify description + assert page.has_no_text? '*Textile description for object*' + assert page.has_text? 'Textile description for object' + end + end end