3112: update report_issue.js to confine event handling to report issue. WIP: mostly...
authorradhika <radhika@curoverse.com>
Sun, 24 Aug 2014 04:12:44 +0000 (00:12 -0400)
committerradhika <radhika@curoverse.com>
Sun, 24 Aug 2014 04:12:44 +0000 (00:12 -0400)
apps/workbench/app/assets/javascripts/report_issue.js
apps/workbench/test/integration/errors_test.rb
apps/workbench/test/integration/report_issue_test.rb
apps/workbench/test/integration/search_box_test.rb

index 482fd535484d32356781744271402e07bbe0edce..cc15b708da0a8084a3fe786b6bb06449e8708195 100644 (file)
@@ -1,36 +1,33 @@
-// ajax handling for report-issue function
 $(document).
-  on('ajax:send', function() {
-    var $sendButton = $('#report-issue-submit');
-    if ($sendButton) {
-      $sendButton.html('Sending...');
-      $sendButton.attr('disabled',true);
-    }
+  on('click', "#report-issue-submit", function(e){
+    $(this).html('Sending');
+    $(this).attr('disabled', true);
     var $cancelButton = $('#report-issue-cancel');
     if ($cancelButton) {
       $cancelButton.html('Close');
     }
     $('div').remove('.modal-footer-status');
-  }).
-  on('ajax:success', function() {
-    var $sendButton = $('#report-issue-submit');
-    if ($sendButton  && $sendButton.prop('disabled')) {
-      $sendButton.html('Report sent');
-      $('div').remove('.modal-footer-status');
-      $('.modal-footer').append('<div class="modal-footer-status alert alert-success"><div><p align="left">Thanks for reporting this issue!</p></div></div>');
-    }
-  }).
-  on('ajax:failure', function() {
-    var $sendButton = $('#report-issue-submit');
-    if ($sendButton && $sendButton.prop('disabled')) {
-      $('div').remove('.modal-footer-status');
-      $('.modal-footer').append('<div class="modal-footer-status alert alert-danger"></br><p align="left">We are sorry. We could not submit your report! We really want this to work, though -- please try again.</p></div>');
-      $sendButton.html('Send problem report');
-      $sendButton.attr('disabled',false);
-    }
-    var $cancelButton = $('#report-issue-cancel');
-    if ($cancelButton) {
-      var text = document.getElementById('report-issue-cancel').firstChild;
-      $cancelButton.html('Cancel');
-    }
+
+    $.ajax().
+      success(function(data, status, jqxhr) {
+        var $sendButton = $('#report-issue-submit');
+        $sendButton.html('Report sent');
+        $('div').remove('.modal-footer-status');
+        $('.modal-footer').append('<div class="modal-footer-status alert alert-success"><div><p align="left">Thanks for reporting this issue!</p></div></div>');
+      }).
+      fail(function(jqxhr, status, error) {
+        var $sendButton = $('#report-issue-submit');
+        if ($sendButton && $sendButton.prop('disabled')) {
+        $('div').remove('.modal-footer-status');
+        $('.modal-footer').append('<div class="modal-footer-status alert alert-danger"></br><p align="left">We are sorry. We could not submit your report! We really want this to work, though -- please try again.</p></div>');
+        $sendButton.html('Send problem report');
+        $sendButton.attr('disabled',false);
+      }
+        var $cancelButton = $('#report-issue-cancel');
+        var text = document.getElementById('report-issue-cancel').firstChild;
+        $cancelButton.html('Cancel');
+      }).
+      always(function(data, status, jqxhr) {
+      });
+
   });
index b5156b41bce3911842c20fcbc84d0ba52350ea71..b8000812d19383b94cf2d95859e19012b069ef68 100644 (file)
@@ -105,18 +105,18 @@ class ErrorsTest < ActionDispatch::IntegrationTest
       within '.modal-content' do
         assert page.has_text?('Report a problem'), 'Report a problem text not found'
         assert page.has_no_text?('Version / debugging info'), 'Version / debugging info is not expected'
-        assert page.has_text?('Server version'), 'Server version  text not found'
-        assert page.has_text?('Server restarted at'), 'Server restarted at text not found'
+        assert page.has_text?('API version'), 'API version  text not found'
+        assert page.has_text?('API startup time'), 'API startup time text not found'
         assert page.has_text?('Found a problem?'), 'Found a problem text not found'
-        assert page.has_button?('Report issue'), 'Report issue button not found'
+        assert page.has_button?('Send problem report'), 'Send problem report button not found'
         assert page.has_button?('Cancel'), 'Cancel button not found'
 
         # enter a report text and click on report
         page.find_field('report_issue_text').set 'my test report text'
-        click_button 'Report issue'
+        click_button 'Send problem report'
 
         # ajax success updated button texts and added footer message
-        assert page.has_no_button?('Report issue'), 'Found button - Report issue'
+        assert page.has_no_button?('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 button - Close'
@@ -126,7 +126,7 @@ class ErrorsTest < ActionDispatch::IntegrationTest
       end
 
       # out of the popup now and should be back in the error page
-      assert(page.has_text?(/fiddlesticks/i), 'Expected to be in error page')
+      assert(page.has_text?('Dashboard'), 'Expected to see dashboard')
     ensure
       Rails.configuration.arvados_v1_base = original_arvados_v1_base
     end
index fe87c58fb06b7f61bddba48a8092adc1ccbfeb58..c165a56644814702cac44a1084106ab948295484 100644 (file)
@@ -89,7 +89,7 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest
     ['active_no_prefs_profile', api_fixture('users')['active_no_prefs_profile']],
   ].each do |token, user|
 
-    test "check help for user #{token}" do
+    test "check version info and report issue for user #{token}" do
       if !token
         visit ('/')
       else
index be9931dfde193d43e87c6b77c0e5a58cae1079db..dcdce155fc2c48709cff260b080e4ad3927a9b8c 100644 (file)
@@ -36,18 +36,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?('Server version'), 'No text - Server version'
-        assert page.has_text?('Server restarted at'), 'No text - Server restarted at'
+        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?('Report issue'), 'No button - Report issue'
+        assert page.has_button?('Send problem report'), 'No button - Send problem report'
         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'
-        click_button 'Report issue'
+        click_button 'Send problem report'
 
         # ajax success updated button texts and added footer message
-        assert page.has_no_button?('Report issue'), 'Found button - Report issue'
+        assert page.has_no_button?('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'
@@ -86,7 +86,7 @@ class ApplicationLayoutTest < ActionDispatch::IntegrationTest
     ['admin', api_fixture('users')['admin']],
   ].each do |token, user|
 
-    test "test search for user #{token}" do
+    test "test search box for user #{token}" do
       visit page_with_token(token)
 
       verify_search_box user