Merge branch 'master' into 3637-copy-selections
[arvados.git] / apps / workbench / test / integration / search_box_test.rb
index dcdce155fc2c48709cff260b080e4ad3927a9b8c..9a259e2703b510a39599d98f9e59ea697f838993 100644 (file)
@@ -2,7 +2,7 @@ require 'integration_helper'
 require 'selenium-webdriver'
 require 'headless'
 
-class ApplicationLayoutTest < ActionDispatch::IntegrationTest
+class SearchBoxTest < ActionDispatch::IntegrationTest
   setup do
     headless = Headless.new
     headless.start
@@ -14,6 +14,7 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest
     if user && user['is_active']
       # let's search for a valid uuid
       within('.navbar-fixed-top') do
+        page.has_field?('search')
         page.find_field('search').set user['uuid']
         page.find('.glyphicon-search').click
       end
@@ -36,18 +37,18 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest
       within '.modal-content' do
         assert page.has_text?('Report a problem'), 'No text - Report a problem'
         assert page.has_no_text?('Version / debugging info'), 'No text - Version / debugging info'
-        assert page.has_text?('API version'), 'No text - API version'
-        assert page.has_text?('API startup time'), 'No text - API startup time'
-        assert page.has_text?('Found a problem?'), 'No text - Found a problem'
-        assert page.has_button?('Send problem report'), 'No button - Send problem report'
+        assert page.has_text?('Describe the problem'), 'No text - Describe the problem'
+        assert page.has_text?('Send problem report'), 'Send problem report button text is not found'
+        assert page.has_no_button?('Send problem report'), 'Send problem report button is not disabled before entering problem description'
         assert page.has_button?('Cancel'), 'No button - Cancel'
 
         # enter a report text and click on report
         page.find_field('report_issue_text').set 'my test report text'
+        assert page.has_button?('Send problem report'), 'Send problem report button not enabled after entering text'
         click_button 'Send problem report'
 
         # ajax success updated button texts and added footer message
-        assert page.has_no_button?('Send problem report'), 'Found button - Send problem report'
+        assert page.has_no_text?('Send problem report'), 'Found button - Send problem report'
         assert page.has_no_button?('Cancel'), 'Found button - Cancel'
         assert page.has_text?('Report sent'), 'No text - Report sent'
         assert page.has_button?('Close'), 'No text - Close'
@@ -78,10 +79,17 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest
       # seeing "Unrestricted public data" now
       assert page.has_text?(publicly_accessible_project['name']), 'No text - publicly accessible project name'
       assert page.has_text?(publicly_accessible_project['description']), 'No text - publicly accessible project description'
+    else
+      within('.navbar-fixed-top') do
+        page.has_no_field?('search')
+      end
     end
   end
 
   [
+    [nil, nil],
+    ['inactive', api_fixture('users')['inactive']],
+    ['inactive_uninvited', api_fixture('users')['inactive_uninvited']],
     ['active', api_fixture('users')['active']],
     ['admin', api_fixture('users')['admin']],
   ].each do |token, user|