diff options
author | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-10-29 10:18:54 +0100 |
---|---|---|
committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-10-29 10:20:14 +0100 |
commit | cb405e32d1a66cb047aca44c81203a58cc5c2068 (patch) | |
tree | 0e5a00b03672df8d9198a566e23b192b5f07d48b /web-ui/test/spec/services/mail_service.spec.js | |
parent | eb3b4bbbd3c5e3c842f9d12622bb25b45b97b38c (diff) |
Redirect user to login if ajax request fails with 302
- See project issue 162
- Should solve 'disconnected' problems
Diffstat (limited to 'web-ui/test/spec/services/mail_service.spec.js')
-rw-r--r-- | web-ui/test/spec/services/mail_service.spec.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/web-ui/test/spec/services/mail_service.spec.js b/web-ui/test/spec/services/mail_service.spec.js index 7fb2bfda..2cf69a9d 100644 --- a/web-ui/test/spec/services/mail_service.spec.js +++ b/web-ui/test/spec/services/mail_service.spec.js @@ -130,6 +130,24 @@ describeComponent('services/mail_service', function () { expect(spyAjax.calls.mostRecent().args[1].type).toEqual('DELETE'); }); + describe('when request fails', function () { + it ('will redirect the browser to the location specified', function () { + var browser = require('helpers/browser'); + var redirectUrl = '/some/redirect/url'; + var me = {}; + var deferred = $.Deferred(); + spyOn($, 'ajax').and.returnValue(deferred); + var spyRedirect = spyOn(browser, 'redirect').and.returnValue($.Deferred()); + + this.component.trigger(Pixelated.events.mail.want, { caller: me, mail: email1.ident }); + + deferred.reject({status: 302, getResponseHeader: function (_) {return redirectUrl;}}, '', ''); + + expect(spyRedirect).toHaveBeenCalled(); + expect(spyRedirect.calls.mostRecent().args[0]).toEqual(redirectUrl); + }); + }); + describe('when successfuly deletes an email', function () { var displayMessageEvent, uncheckAllEvent, mailsDeletedEvent; |