Merge branch 'master' into 11060-all-visible-repos
[arvados.git] / apps / workbench / test / controllers / container_requests_controller_test.rb
index 804263cd49d3ca234cd1244691c030881baa88ea..554aaf6d041324445e1017bdf7e17df94c5b7e0a 100644 (file)
@@ -44,11 +44,12 @@ class ContainerRequestsControllerTest < ActionController::TestCase
   [
     ['completed', false, false],
     ['completed', true, false],
-    ['completed-acr', false, true],
-    ['completed-acr', true, true],
+    ['completed-older', false, true],
+    ['completed-older', true, true],
   ].each do |cr_fixture, reuse_enabled, uses_acr|
     test "container request #{uses_acr ? '' : 'not'} using arvados-cwl-runner copy #{reuse_enabled ? 'with' : 'without'} reuse enabled" do
       completed_cr = api_fixture('container_requests')[cr_fixture]
+      # Set up post request params
       copy_params = {id: completed_cr['uuid']}
       if reuse_enabled
         copy_params.merge!({use_existing: true})
@@ -84,4 +85,41 @@ class ContainerRequestsControllerTest < ActionController::TestCase
       end
     end
   end
+
+  [
+    ['completed', true],
+    ['running', true],
+    ['queued', true],
+    ['uncommitted', false],
+  ].each do |cr_fixture, should_show|
+    test "provenance tab should #{should_show ? '' : 'not'} be shown on #{cr_fixture} container requests" do
+      cr = api_fixture('container_requests')[cr_fixture]
+      assert_not_nil cr
+      get(:show,
+          {id: cr['uuid']},
+          session_for(:active))
+      assert_response :success
+      if should_show
+        assert_includes @response.body, "href=\"#Provenance\""
+      else
+        assert_not_includes @response.body, "href=\"#Provenance\""
+      end
+    end
+  end
+
+  test "container request display" do
+    use_token 'active'
+
+    cr = api_fixture('container_requests')['completed_with_input_mounts']
+
+    get :show, {id: cr['uuid']}, session_for(:active)
+    assert_response :success
+
+    assert_match /hello/, @response.body
+    assert_includes @response.body, "href=\"\/collections/fa7aeb5140e2848d39b416daeef4ffc5+45/foo" # mount input1
+    assert_includes @response.body, "href=\"\/collections/fa7aeb5140e2848d39b416daeef4ffc5+45/bar" # mount input2
+    assert_includes @response.body, "href=\"\/collections/1fd08fc162a5c6413070a8bd0bffc818+150" # mount workflow
+    assert_includes @response.body, "href=\"#Log\""
+    assert_includes @response.body, "href=\"#Provenance\""
+  end
 end