10144: Conver the link_to_log tests into controller tests so that the #show is executed.
authorradhika <radhika@curoverse.com>
Tue, 11 Oct 2016 20:56:05 +0000 (16:56 -0400)
committerradhika <radhika@curoverse.com>
Wed, 12 Oct 2016 15:23:16 +0000 (11:23 -0400)
apps/workbench/test/controllers/work_units_controller_test.rb
apps/workbench/test/unit/work_unit_test.rb

index 12e0271260edf3f815c6be70b0e995438d32761e..ee18861c92099ea91ec62bf551ff7ad17317e6f0 100644 (file)
@@ -65,4 +65,27 @@ class WorkUnitsControllerTest < ActionController::TestCase
                           }]
     get :index, encoded_params, session_for(:active)
   end
+
+  [
+    [Job, 'active', 'running_job_with_components', '/jobs/zzzzz-8i9sb-jyq01m7in1jlofj#Log'],
+    [PipelineInstance, 'active', 'pipeline_in_running_state', '/jobs/zzzzz-8i9sb-pshmckwoma9plh7#Log'],
+    [PipelineInstance, nil, 'pipeline_in_publicly_accessible_project_but_other_objects_elsewhere', 'Log unavailable'],
+  ].each do |type, token, fixture, log_link|
+    test "link_to_log for #{fixture} for #{token}" do
+      use_token 'admin'
+      obj = find_fixture(type, fixture)
+
+      @controller = if type == Job then JobsController.new else PipelineInstancesController.new end
+
+      if token
+        get :show, {id: obj['uuid']}, session_for(token)
+      else
+        Rails.configuration.anonymous_user_token =
+          api_fixture("api_client_authorizations", "anonymous", "api_token")
+        get :show, {id: obj['uuid']}
+      end
+
+      assert_includes @response.body, log_link
+    end
+  end
 end
index e59d30d19a9ed0b3d9087150d76fc5abdb18a273..0ff38140e1a6f976ffc5b0da27e73b43415b4d54 100644 (file)
@@ -83,32 +83,6 @@ class WorkUnitTest < ActiveSupport::TestCase
     end
   end
 
-  [
-    [Job, 'active', 'running_job_with_components', true],
-    [Job, 'active', 'queued', false],
-    [Job, nil, 'completed_job_in_publicly_accessible_project', true],
-    [Job, 'active', 'completed_job_in_publicly_accessible_project', true],
-    [PipelineInstance, 'active', 'pipeline_in_running_state', true],  # no log, but while running the log link points to pi Log tab
-    [PipelineInstance, nil, 'pipeline_in_publicly_accessible_project_but_other_objects_elsewhere', false],
-    [PipelineInstance, 'active', 'pipeline_in_publicly_accessible_project_but_other_objects_elsewhere', false], #no log for completed pi
-    [Job, nil, 'job_in_publicly_accessible_project_but_other_objects_elsewhere', false, "Log unavailable"],
-  ].each do |type, token, fixture, has_log, log_link|
-    test "link_to_log for #{fixture} for #{token}" do
-      use_token token if token
-      obj = find_fixture(type, fixture)
-      wu = obj.work_unit
-
-      link = "#{wu.uri}#Log" if has_log
-      link_to_log = wu.link_to_log
-
-      if has_log
-        assert_includes link_to_log, link
-      else
-        assert_equal log_link, link_to_log
-      end
-    end
-  end
-
   test 'can_cancel?' do
     use_token 'active' do
       assert find_fixture(Job, 'running').work_unit.can_cancel?