9799: Fix up live_log_lines so it works for all work units.
[arvados.git] / apps / workbench / test / integration / application_layout_test.rb
index 4a6a5534370ee865aba6d54a1bde6d086ed5f8f6..93827a9c74339a2b67365e6199ad9e2d32668410 100644 (file)
@@ -179,7 +179,7 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest
 
         first('button', text: 'x').click
       end
-      assert_text 'Active pipelines' # seeing dashboard now
+      assert_text 'Recent pipelines and processes' # seeing dashboard now
     end
   end
 
@@ -241,4 +241,49 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest
       assert_text look_for
     end
   end
+
+  [
+    ['active', false],
+    ['admin', true],
+  ].each do |token, is_admin|
+    test "visit dashboard as #{token}" do
+      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 processes')
+      end
+
+      within('.recent-processes') do
+        assert_text 'running_with_job'
+        within('.row-zzzzz-d1hrv-runningpipeline') do
+          assert_text 'foo'
+        end
+
+        assert_text 'zzzzz-d1hrv-twodonepipeline'
+        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
+      end
+
+      within('.compute-node-summary-pane') do
+        click_link 'Details'
+        assert_text 'compute0'
+      end
+    end
+  end
 end