10645: add test for container_request display with input mounts
[arvados.git] / apps / workbench / test / performance / browsing_test.rb
index 3fea27b91670e04c83a15269790a44b41b7d9ce1..dcfd7d86e050532319662f13666db55dd69bf06c 100644 (file)
@@ -1,12 +1,47 @@
+# http://guides.rubyonrails.org/v3.2.13/performance_testing.html
+
 require 'test_helper'
 require 'rails/performance_test_help'
+require 'performance_test_helper'
+require 'selenium-webdriver'
+require 'headless'
+
+class BrowsingTest < WorkbenchPerformanceTest
+  self.profile_options = { :runs => 5,
+                           :metrics => [:wall_time],
+                           :output => 'tmp/performance',
+                           :formats => [:flat] }
+
+  setup do
+    need_javascript
+  end
+
+  test "home page" do
+    visit_page_with_token
+    assert_text 'Dashboard'
+    assert_selector 'a', text: 'Run a process'
+  end
+
+  test "search for hash" do
+    visit_page_with_token
+    assert_text 'Dashboard'
+
+    assert_selector '.navbar-fixed-top'
+    assert_triggers_dom_event 'shown.bs.modal' do
+      within '.navbar-fixed-top' do
+        find_field('search').set 'hash'
+        find('.glyphicon-search').click
+      end
+    end
 
-class BrowsingTest < ActionDispatch::PerformanceTest
-  # Refer to the documentation for all available options
-  # self.profile_options = { :runs => 5, :metrics => [:wall_time, :memory]
-  #                          :output => 'tmp/performance', :formats => [:flat] }
+    sleep(50)
 
-  def test_homepage
-    get '/'
+    # In the search dialog now. Expect at least one item in the result display.
+    within '.modal-content' do
+      assert_text 'All projects'
+      assert_text 'Search'
+      assert_selector '.selectable[data-object-uuid]'
+      click_button 'Cancel'
+    end
   end
 end