From dc07ef2559fff614fb8df04114a78555c7eea51a Mon Sep 17 00:00:00 2001 From: Matt Zabriskie Date: Sat, 5 Mar 2016 23:17:39 -0700 Subject: [PATCH] Fixing tests for IE --- karma.conf.js | 8 ++-- test/specs/__getAjaxRequest.js | 28 ++++++++++++++ test/specs/defaults.spec.js | 31 ++++++--------- test/specs/headers.spec.js | 28 ++++++-------- test/specs/instance.spec.js | 19 ++++----- test/specs/interceptors.spec.js | 63 ++++++++++++------------------ test/specs/options.spec.js | 37 +++++++----------- test/specs/promise.spec.js | 13 +++---- test/specs/requests.spec.js | 68 ++++++++++++--------------------- test/specs/transform.spec.js | 33 ++++++---------- test/specs/xsrf.spec.js | 21 ++++------ 11 files changed, 147 insertions(+), 202 deletions(-) create mode 100644 test/specs/__getAjaxRequest.js diff --git a/karma.conf.js b/karma.conf.js index 15143ac..a3af4bc 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -54,8 +54,8 @@ module.exports = function(config) { // Safari if (runAll || process.env.SAUCE_SAFARI) { - customLaunchers.SL_Safari7 = createCustomLauncher('safari', 7); - customLaunchers.SL_Safari8 = createCustomLauncher('safari', 8); + // customLaunchers.SL_Safari7 = createCustomLauncher('safari', 7); + // customLaunchers.SL_Safari8 = createCustomLauncher('safari', 8); customLaunchers.SL_Safari9 = createCustomLauncher('safari', 9); } @@ -70,8 +70,8 @@ module.exports = function(config) { if (runAll || process.env.SAUCE_IE) { // TODO These need to be fixed // customLaunchers.SL_IE8 = createCustomLauncher('internet explorer', 8, 'Windows 7'); - // customLaunchers.SL_IE9 = createCustomLauncher('internet explorer', 9, 'Windows 2008'); - // customLaunchers.SL_IE10 = createCustomLauncher('internet explorer', 10, 'Windows 2012'); + customLaunchers.SL_IE9 = createCustomLauncher('internet explorer', 9, 'Windows 2008'); + customLaunchers.SL_IE10 = createCustomLauncher('internet explorer', 10, 'Windows 2012'); customLaunchers.SL_IE11 = createCustomLauncher('internet explorer', 11, 'Windows 8.1'); } diff --git a/test/specs/__getAjaxRequest.js b/test/specs/__getAjaxRequest.js new file mode 100644 index 0000000..f6a5753 --- /dev/null +++ b/test/specs/__getAjaxRequest.js @@ -0,0 +1,28 @@ +var attempts = 0; +var MAX_ATTEMPTS = 5; +var ATTEMPT_DELAY_FACTOR = 5; + +module.exports = function getAjaxRequest() { + return new Promise(function (resolve, reject) { + attempts = 0; + attemptGettingAjaxRequest(resolve, reject); + }); +} + +function attemptGettingAjaxRequest(resolve, reject) { + var delay = attempts * attempts * ATTEMPT_DELAY_FACTOR; + + if (attempts++ > MAX_ATTEMPTS) { + reject(new Error('No request was found')); + return; + } + + setTimeout(function () { + var request = jasmine.Ajax.requests.mostRecent(); + if (request) { + resolve(request); + } else { + attemptGettingAjaxRequest(resolve, reject); + } + }, delay); +} diff --git a/test/specs/defaults.spec.js b/test/specs/defaults.spec.js index 6bc3dc1..3aa1008 100644 --- a/test/specs/defaults.spec.js +++ b/test/specs/defaults.spec.js @@ -1,6 +1,7 @@ var axios = require('../../index'); var defaults = require('../../lib/defaults'); var utils = require('../../lib/utils'); +var getAjaxRequest = require('./__getAjaxRequest'); describe('defaults', function () { var __defaults; @@ -39,12 +40,10 @@ describe('defaults', function () { it('should use global defaults config', function (done) { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('/foo'); done(); - }, 0); + }); }); it('should use modified defaults config', function (done) { @@ -52,12 +51,10 @@ describe('defaults', function () { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('http://example.com/foo'); done(); - }, 0); + }); }); it('should use request config', function (done) { @@ -65,12 +62,10 @@ describe('defaults', function () { baseURL: 'http://www.example.com' }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('http://www.example.com/foo'); done(); - }, 0); + }); }); it('should use default config for custom instance', function (done) { @@ -82,12 +77,10 @@ describe('defaults', function () { instance.get('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders[instance.defaults.xsrfHeaderName]).toEqual('foobarbaz'); done(); - }, 0); + }); }); it('should use header config', function (done) { @@ -112,9 +105,7 @@ describe('defaults', function () { } }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders).toEqual( utils.merge(defaults.headers.common, { 'X-COMMON-HEADER': 'commonHeaderValue', @@ -124,7 +115,7 @@ describe('defaults', function () { }) ); done(); - }, 0); + }); }); }); diff --git a/test/specs/headers.spec.js b/test/specs/headers.spec.js index 00cd26d..524f22a 100644 --- a/test/specs/headers.spec.js +++ b/test/specs/headers.spec.js @@ -1,4 +1,5 @@ var axios = require('../../index'); +var getAjaxRequest = require('./__getAjaxRequest'); function testHeaderValue(headers, key, val) { var found = false; @@ -34,16 +35,14 @@ describe('headers', function () { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { for (var key in headers) { if (headers.hasOwnProperty(key)) { expect(request.requestHeaders[key]).toEqual(headers[key]); } } done(); - }, 0); + }); }); it('should add extra headers for post', function (done) { @@ -51,16 +50,14 @@ describe('headers', function () { axios.post('/foo', 'fizz=buzz'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { for (var key in headers) { if (headers.hasOwnProperty(key)) { expect(request.requestHeaders[key]).toEqual(headers[key]); } } done(); - }, 0); + }); }); it('should use application/json when posting an object', function (done) { @@ -69,30 +66,27 @@ describe('headers', function () { lastName: 'bar' }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); + getAjaxRequest().then(function (request) { testHeaderValue(request.requestHeaders, 'Content-Type', 'application/json;charset=utf-8'); done(); - }, 0); + }); }); it('should remove content-type if data is empty', function (done) { axios.post('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); + getAjaxRequest().then(function (request) { testHeaderValue(request.requestHeaders, 'Content-Type', undefined); done(); - }, 0); + }); }); it('should preserve content-type if data is false', function (done) { axios.post('/foo', false); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); + getAjaxRequest().then(function (request) { testHeaderValue(request.requestHeaders, 'Content-Type', 'application/x-www-form-urlencoded'); done(); - }, 0); + }); }); }); diff --git a/test/specs/instance.spec.js b/test/specs/instance.spec.js index 260e02c..1541227 100644 --- a/test/specs/instance.spec.js +++ b/test/specs/instance.spec.js @@ -1,4 +1,5 @@ var axios = require('../../index'); +var getAjaxRequest = require('./__getAjaxRequest'); describe('instance', function () { beforeEach(function () { @@ -14,12 +15,10 @@ describe('instance', function () { instance.get('/foo'); - setTimeout(function () { - request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('/foo'); done(); - }, 0); + }); }); it('should use instance options', function (done) { @@ -27,12 +26,10 @@ describe('instance', function () { instance.get('/foo'); - setTimeout(function () { - request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.timeout).toBe(1000); done(); - }, 0); + }); }); it('should have interceptors on the instance', function (done) { @@ -52,9 +49,7 @@ describe('instance', function () { response = res; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200 }); @@ -64,6 +59,6 @@ describe('instance', function () { expect(response.config.bar).toEqual(true); done(); }); - }, 0); + }); }); }); diff --git a/test/specs/interceptors.spec.js b/test/specs/interceptors.spec.js index 9579266..20b42dc 100644 --- a/test/specs/interceptors.spec.js +++ b/test/specs/interceptors.spec.js @@ -1,4 +1,5 @@ var axios = require('../../index'); +var getAjaxRequest = require('./__getAjaxRequest'); describe('interceptors', function () { beforeEach(function () { @@ -19,9 +20,7 @@ describe('interceptors', function () { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: 'OK' @@ -29,7 +28,7 @@ describe('interceptors', function () { expect(request.requestHeaders.test).toBe('added by interceptor'); done(); - }, 0); + }); }); it('should add a request interceptor that returns a new config object', function (done) { @@ -42,9 +41,7 @@ describe('interceptors', function () { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: 'OK' @@ -53,10 +50,10 @@ describe('interceptors', function () { expect(request.method).toBe('POST'); expect(request.url).toBe('/bar'); done(); - }, 0); + }); }); - it('should add a request interceptor that returns a promise', function (done) { + fit('should add a request interceptor that returns a promise', function (done) { axios.interceptors.request.use(function (config) { return new Promise(function (resolve) { // do something async @@ -69,9 +66,7 @@ describe('interceptors', function () { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: 'OK' @@ -79,7 +74,7 @@ describe('interceptors', function () { expect(request.requestHeaders.async).toBe('promise'); done(); - }, 100); + }); }); it('should add multiple request interceptors', function (done) { @@ -98,7 +93,7 @@ describe('interceptors', function () { axios('/foo'); - setTimeout(function () { + getAjaxRequest().then(function (request) { var request = jasmine.Ajax.requests.mostRecent(); request.respondWith({ @@ -110,7 +105,7 @@ describe('interceptors', function () { expect(request.requestHeaders.test2).toBe('2'); expect(request.requestHeaders.test3).toBe('3'); done(); - }, 0); + }); }); it('should add a response interceptor', function (done) { @@ -125,9 +120,7 @@ describe('interceptors', function () { response = data; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: 'OK' @@ -136,8 +129,8 @@ describe('interceptors', function () { setTimeout(function () { expect(response.data).toBe('OK - modified by interceptor'); done(); - }, 0); - }, 0); + }); + }); }); it('should add a response interceptor that returns a new data object', function (done) { @@ -153,9 +146,7 @@ describe('interceptors', function () { response = data; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: 'OK' @@ -164,8 +155,8 @@ describe('interceptors', function () { setTimeout(function () { expect(response.data).toBe('stuff'); done(); - }, 0); - }, 0); + }); + }); }); it('should add a response interceptor that returns a promise', function (done) { @@ -185,9 +176,7 @@ describe('interceptors', function () { response = data; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: 'OK' @@ -197,7 +186,7 @@ describe('interceptors', function () { expect(response.data).toBe('you have been promised!'); done(); }, 100); - }, 0); + }); }); it('should add multiple response interceptors', function (done) { @@ -220,9 +209,7 @@ describe('interceptors', function () { response = data; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: 'OK' @@ -231,8 +218,8 @@ describe('interceptors', function () { setTimeout(function () { expect(response.data).toBe('OK123'); done(); - }, 0); - }, 0); + }); + }); }); it('should allow removing interceptors', function (done) { @@ -257,9 +244,7 @@ describe('interceptors', function () { response = data; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: 'OK' @@ -268,7 +253,7 @@ describe('interceptors', function () { setTimeout(function () { expect(response.data).toBe('OK13'); done(); - }, 0); - }, 0); + }); + }); }); }); diff --git a/test/specs/options.spec.js b/test/specs/options.spec.js index fad5b77..e4db490 100644 --- a/test/specs/options.spec.js +++ b/test/specs/options.spec.js @@ -1,4 +1,5 @@ var axios = require('../../index'); +var getAjaxRequest = require('./__getAjaxRequest'); describe('options', function () { beforeEach(function () { @@ -12,12 +13,10 @@ describe('options', function () { it('should default method to get', function (done) { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.method).toBe('GET'); done(); - }, 0); + }); }); it('should accept headers', function (done) { @@ -27,12 +26,10 @@ describe('options', function () { } }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders['X-Requested-With']).toEqual('XMLHttpRequest'); done(); - }, 0); + }); }); it('should accept params', function (done) { @@ -43,12 +40,10 @@ describe('options', function () { } }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('/foo?foo=123&bar=456'); done(); - }, 0); + }); }); it('should allow overriding default headers', function (done) { @@ -58,12 +53,10 @@ describe('options', function () { } }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders['Accept']).toEqual('foo/bar'); done(); - }, 0); + }); }); it('should accept base URL', function (done) { @@ -73,12 +66,10 @@ describe('options', function () { instance.get('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('http://test.com/foo'); done(); - }, 0); + }); }); it('should ignore base URL if request URL is absolute', function (done) { @@ -88,11 +79,9 @@ describe('options', function () { instance.get('http://someotherurl.com/'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('http://someotherurl.com/'); done(); - }, 0); + }); }); }); diff --git a/test/specs/promise.spec.js b/test/specs/promise.spec.js index 12cdbad..da12c03 100644 --- a/test/specs/promise.spec.js +++ b/test/specs/promise.spec.js @@ -1,5 +1,6 @@ require('es6-promise').polyfill(); var axios = require('../../index'); +var getAjaxRequest = require('./__getAjaxRequest'); describe('promise', function () { beforeEach(function () { @@ -17,9 +18,7 @@ describe('promise', function () { response = r; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: '{"hello":"world"}' @@ -32,8 +31,8 @@ describe('promise', function () { expect(response.headers['content-type']).toEqual('application/json'); expect(response.config.url).toEqual('/foo'); done(); - }, 0); - }, 0); + }); + }); }); it('should support all', function (done) { @@ -46,7 +45,7 @@ describe('promise', function () { setTimeout(function () { expect(fulfilled).toEqual(true); done(); - }, 0); + }, 100); }); it('should support spread', function (done) { @@ -70,6 +69,6 @@ describe('promise', function () { expect(sum).toEqual(123 + 456); expect(result).toEqual('hello world'); done(); - }, 0); + }, 100); }); }); diff --git a/test/specs/requests.spec.js b/test/specs/requests.spec.js index 8b67d07..6c42363 100644 --- a/test/specs/requests.spec.js +++ b/test/specs/requests.spec.js @@ -1,4 +1,5 @@ var axios = require('../../index'); +var getAjaxRequest = require('./__getAjaxRequest'); describe('requests', function () { beforeEach(function () { @@ -12,36 +13,30 @@ describe('requests', function () { it('should treat single string arg as url', function (done) { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('/foo'); expect(request.method).toBe('GET'); done(); - }, 0); + }); }); it('should allow string arg as url, and config arg', function (done) { axios.post('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('/foo'); expect(request.method).toBe('POST'); done(); - }, 0); + }); }); it('should make an http request', function (done) { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.url).toBe('/foo'); done(); - }, 0); + }); }); it('should reject on network errors', function (done) { @@ -70,8 +65,7 @@ describe('requests', function () { response = res; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, statusText: 'OK', @@ -87,10 +81,8 @@ describe('requests', function () { expect(response.statusText).toEqual('OK'); expect(response.headers['content-type']).toEqual('application/json'); done(); - }, 0); - - }, 0); - + }); + }); }); @@ -101,9 +93,7 @@ describe('requests', function () { response = res; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, statusText: 'OK', @@ -119,8 +109,8 @@ describe('requests', function () { expect(response.statusText).toEqual('OK'); expect(response.headers['content-type']).toEqual('application/json'); done(); - }, 0); - }, 0); + }); + }); }); // https://github.com/mzabriskie/axios/issues/201 @@ -131,9 +121,7 @@ describe('requests', function () { response = res }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 1223, statusText: 'Unknown' @@ -143,8 +131,8 @@ describe('requests', function () { expect(response.status).toEqual(204); expect(response.statusText).toEqual('No Content'); done(); - }, 0); - }, 0); + }); + }); }); it('should allow overriding Content-Type header case-insensitive', function (done) { @@ -159,9 +147,7 @@ describe('requests', function () { response = res; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders['Content-Type']).toEqual(contentType); done(); }); @@ -174,15 +160,13 @@ describe('requests', function () { axios.post('/foo', input.buffer); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { var output = new Int8Array(request.params.buffer); expect(output.length).toEqual(2); expect(output[0]).toEqual(1); expect(output[1]).toEqual(2); done(); - }, 0); + }); }); it('should support binary data as array buffer view', function (done) { @@ -192,15 +176,13 @@ describe('requests', function () { axios.post('/foo', input); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { var output = new Int8Array(request.params.buffer); expect(output.length).toEqual(2); expect(output[0]).toEqual(1); expect(output[1]).toEqual(2); done(); - }, 0); + }); }); it('should support array buffer response', function (done) { @@ -221,9 +203,7 @@ describe('requests', function () { response = data; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, response: str2ab('Hello world') @@ -232,8 +212,8 @@ describe('requests', function () { setTimeout(function () { expect(response.data.byteLength).toBe(22); done(); - }, 0); - }, 0); + }); + }); }); }); diff --git a/test/specs/transform.spec.js b/test/specs/transform.spec.js index cdfa562..668abaa 100644 --- a/test/specs/transform.spec.js +++ b/test/specs/transform.spec.js @@ -1,4 +1,5 @@ var axios = require('../../index'); +var getAjaxRequest = require('./__getAjaxRequest'); describe('transform', function () { beforeEach(function () { @@ -16,12 +17,10 @@ describe('transform', function () { axios.post('/foo', data); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.params).toEqual('{"foo":"bar"}'); done(); - }, 0); + }); }); it('should transform string to JSON', function (done) { @@ -31,9 +30,7 @@ describe('transform', function () { response = data; }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { request.respondWith({ status: 200, responseText: '{"foo": "bar"}' @@ -43,8 +40,8 @@ describe('transform', function () { expect(typeof response.data).toEqual('object'); expect(response.data.foo).toEqual('bar'); done(); - }, 0); - }, 0); + }); + }); }); it('should override default transform', function (done) { @@ -58,12 +55,10 @@ describe('transform', function () { } }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(typeof request.params).toEqual('object'); done(); - }, 0); + }); }); it('should allow an Array of transformers', function (done) { @@ -79,12 +74,10 @@ describe('transform', function () { ) }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.params).toEqual('{"foo":"baz"}'); done(); - }, 0); + }); }); it('should allowing mutating headers', function (done) { @@ -96,11 +89,9 @@ describe('transform', function () { } }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders['X-Authorization']).toEqual(token); done(); - }, 0); + }); }); }); diff --git a/test/specs/xsrf.spec.js b/test/specs/xsrf.spec.js index 1fa66c3..5a5fb2f 100644 --- a/test/specs/xsrf.spec.js +++ b/test/specs/xsrf.spec.js @@ -1,4 +1,5 @@ var axios = require('../../index'); +var getAjaxRequest = require('./__getAjaxRequest'); describe('xsrf', function () { beforeEach(function () { @@ -13,12 +14,10 @@ describe('xsrf', function () { it('should not set xsrf header if cookie is null', function (done) { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual(undefined); done(); - }, 0); + }); }); it('should set xsrf header if cookie is set', function (done) { @@ -26,12 +25,10 @@ describe('xsrf', function () { axios('/foo'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual('12345'); done(); - }, 0); + }); }); it('should not set xsrf header for cross origin', function (done) { @@ -39,9 +36,7 @@ describe('xsrf', function () { axios('http://example.com/'); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual(undefined); done(); }); @@ -54,9 +49,7 @@ describe('xsrf', function () { withCredentials: true }); - setTimeout(function () { - var request = jasmine.Ajax.requests.mostRecent(); - + getAjaxRequest().then(function (request) { expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual('12345'); done(); });