2
0
mirror of https://github.com/tenrok/axios.git synced 2026-05-15 11:59:42 +03:00

Cleaning up tests a bit

This commit is contained in:
Matt Zabriskie
2016-03-04 10:35:05 -07:00
parent c181d8ade9
commit 371b82a2a0
11 changed files with 106 additions and 251 deletions
+2 -4
View File
@@ -11,8 +11,7 @@ module.exports = function setupBasicAuthTest() {
});
it('should accept HTTP Basic auth with username/password', function (done) {
axios({
url: '/foo',
axios('/foo', {
auth: {
username: 'Aladdin',
password: 'open sesame'
@@ -28,8 +27,7 @@ module.exports = function setupBasicAuthTest() {
});
it('should fail to encode HTTP Basic auth credentials with non-Latin1 characters', function (done) {
axios({
url: '/foo',
axios('/foo', {
auth: {
username: 'Aladßç£☃din',
password: 'open sesame'
+1 -2
View File
@@ -4,8 +4,7 @@ describe('adapter', function () {
it('should support custom adapter', function (done) {
var called = false;
axios({
url: '/foo',
axios('/foo', {
adapter: function (resolve, reject, config) {
called = true;
}
+8 -16
View File
@@ -37,12 +37,10 @@ describe('defaults', function () {
});
it('should use global defaults config', function (done) {
var request;
axios({ url: '/foo' });
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo');
done();
@@ -50,13 +48,12 @@ describe('defaults', function () {
});
it('should use modified defaults config', function (done) {
var request;
axios.defaults.baseURL = 'http://example.com/';
axios({ url: '/foo' });
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('http://example.com/foo');
done();
@@ -64,15 +61,12 @@ describe('defaults', function () {
});
it('should use request config', function (done) {
var request;
axios({
url: '/foo',
axios('/foo', {
baseURL: 'http://www.example.com'
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('http://www.example.com/foo');
done();
@@ -80,7 +74,6 @@ describe('defaults', function () {
});
it('should use default config for custom instance', function (done) {
var request;
var instance = axios.create({
xsrfCookieName: XSRF_COOKIE_NAME,
xsrfHeaderName: 'X-CUSTOM-XSRF-TOKEN'
@@ -90,7 +83,7 @@ describe('defaults', function () {
instance.get('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[instance.defaults.xsrfHeaderName]).toEqual('foobarbaz');
done();
@@ -98,7 +91,6 @@ describe('defaults', function () {
});
it('should use header config', function (done) {
var request;
var instance = axios.create({
headers: {
common: {
@@ -121,7 +113,7 @@ describe('defaults', function () {
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders).toEqual(
utils.merge(defaults.headers.common, {
+7 -24
View File
@@ -32,9 +32,7 @@ describe('headers', function () {
it('should default common headers', function (done) {
var headers = axios.defaults.headers.common;
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
var request = jasmine.Ajax.requests.mostRecent();
@@ -51,11 +49,7 @@ describe('headers', function () {
it('should add extra headers for post', function (done) {
var headers = axios.defaults.headers.common;
axios({
method: 'post',
url: '/foo',
data: 'fizz=buzz'
});
axios.post('/foo', 'fizz=buzz');
setTimeout(function () {
var request = jasmine.Ajax.requests.mostRecent();
@@ -70,13 +64,9 @@ describe('headers', function () {
});
it('should use application/json when posting an object', function (done) {
axios({
url: '/foo/bar',
method: 'post',
data: {
firstName: 'foo',
lastName: 'bar'
}
axios.post('/foo/bar', {
firstName: 'foo',
lastName: 'bar'
});
setTimeout(function () {
@@ -87,10 +77,7 @@ describe('headers', function () {
});
it('should remove content-type if data is empty', function (done) {
axios({
url: '/foo',
method: 'post'
});
axios.post('/foo');
setTimeout(function () {
var request = jasmine.Ajax.requests.mostRecent();
@@ -100,11 +87,7 @@ describe('headers', function () {
});
it('should preserve content-type if data is false', function (done) {
axios({
url: '/foo',
method: 'post',
data: false
});
axios.post('/foo', false);
setTimeout(function () {
var request = jasmine.Ajax.requests.mostRecent();
+4 -10
View File
@@ -12,9 +12,7 @@ describe('instance', function () {
it('should make an http request', function (done) {
var instance = axios.create();
instance.request({
url: '/foo'
});
instance.get('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
@@ -27,9 +25,7 @@ describe('instance', function () {
it('should use instance options', function (done) {
var instance = axios.create({ timeout: 1000 });
instance.request({
url: '/foo'
});
instance.get('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
@@ -52,14 +48,12 @@ describe('instance', function () {
});
var response;
instance.request({
url: '/foo'
}).then(function (res) {
instance.get('/foo').then(function (res) {
response = res;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200
+23 -49
View File
@@ -12,19 +12,15 @@ describe('interceptors', function () {
});
it('should add a request interceptor', function (done) {
var request;
axios.interceptors.request.use(function (config) {
config.headers.test = 'added by interceptor';
return config;
});
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -37,8 +33,6 @@ describe('interceptors', function () {
});
it('should add a request interceptor that returns a new config object', function (done) {
var request;
axios.interceptors.request.use(function () {
return {
url: '/bar',
@@ -46,12 +40,10 @@ describe('interceptors', function () {
};
});
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -65,8 +57,6 @@ describe('interceptors', function () {
});
it('should add a request interceptor that returns a promise', function (done) {
var request;
axios.interceptors.request.use(function (config) {
return new Promise(function (resolve) {
// do something async
@@ -77,12 +67,10 @@ describe('interceptors', function () {
});
});
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -95,8 +83,6 @@ describe('interceptors', function () {
});
it('should add multiple request interceptors', function (done) {
var request;
axios.interceptors.request.use(function (config) {
config.headers.test1 = '1';
return config;
@@ -110,12 +96,10 @@ describe('interceptors', function () {
return config;
});
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -130,21 +114,19 @@ describe('interceptors', function () {
});
it('should add a response interceptor', function (done) {
var request, response;
var response;
axios.interceptors.response.use(function (data) {
data.data = data.data + ' - modified by interceptor';
return data;
});
axios({
url: '/foo'
}).then(function (data) {
axios('/foo').then(function (data) {
response = data;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -159,7 +141,7 @@ describe('interceptors', function () {
});
it('should add a response interceptor that returns a new data object', function (done) {
var request, response;
var response;
axios.interceptors.response.use(function () {
return {
@@ -167,14 +149,12 @@ describe('interceptors', function () {
};
});
axios({
url: '/foo'
}).then(function (data) {
axios('/foo').then(function (data) {
response = data;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -189,7 +169,7 @@ describe('interceptors', function () {
});
it('should add a response interceptor that returns a promise', function (done) {
var request, response;
var response;
axios.interceptors.response.use(function (data) {
return new Promise(function (resolve) {
@@ -201,14 +181,12 @@ describe('interceptors', function () {
});
});
axios({
url: '/foo'
}).then(function (data) {
axios('/foo').then(function (data) {
response = data;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -223,7 +201,7 @@ describe('interceptors', function () {
});
it('should add multiple response interceptors', function (done) {
var request, response;
var response;
axios.interceptors.response.use(function (data) {
data.data = data.data + '1';
@@ -238,14 +216,12 @@ describe('interceptors', function () {
return data;
});
axios({
url: '/foo'
}).then(function (data) {
axios('/foo').then(function (data) {
response = data;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -260,7 +236,7 @@ describe('interceptors', function () {
});
it('should allow removing interceptors', function (done) {
var request, response, intercept;
var response, intercept;
axios.interceptors.response.use(function (data) {
data.data = data.data + '1';
@@ -277,14 +253,12 @@ describe('interceptors', function () {
axios.interceptors.response.eject(intercept);
axios({
url: '/foo'
}).then(function (data) {
axios('/foo').then(function (data) {
response = data;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
+12 -31
View File
@@ -10,14 +10,10 @@ describe('options', function () {
});
it('should default method to get', function (done) {
var request;
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.method).toBe('GET');
done();
@@ -25,17 +21,14 @@ describe('options', function () {
});
it('should accept headers', function (done) {
var request;
axios({
url: '/foo',
axios('/foo', {
headers: {
'X-Requested-With': 'XMLHttpRequest'
}
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders['X-Requested-With']).toEqual('XMLHttpRequest');
done();
@@ -43,10 +36,7 @@ describe('options', function () {
});
it('should accept params', function (done) {
var request;
axios({
url: '/foo',
axios('/foo', {
params: {
foo: 123,
bar: 456
@@ -54,7 +44,7 @@ describe('options', function () {
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo?foo=123&bar=456');
done();
@@ -62,17 +52,14 @@ describe('options', function () {
});
it('should allow overriding default headers', function (done) {
var request;
axios({
url: '/foo',
axios('/foo', {
headers: {
'Accept': 'foo/bar'
}
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders['Accept']).toEqual('foo/bar');
done();
@@ -80,17 +67,14 @@ describe('options', function () {
});
it('should accept base URL', function (done) {
var request;
var instance = axios.create({
baseURL: 'http://test.com/'
});
instance.request({
url: '/foo'
});
instance.get('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('http://test.com/foo');
done();
@@ -98,17 +82,14 @@ describe('options', function () {
});
it('should ignore base URL if request URL is absolute', function (done) {
var request;
var instance = axios.create({
baseURL: 'http://someurl.com/'
});
instance.request({
url: 'http://someotherurl.com/'
});
instance.get('http://someotherurl.com/');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('http://someotherurl.com/');
done();
+3 -5
View File
@@ -11,16 +11,14 @@ describe('promise', function () {
});
it('should provide succinct object to then', function (done) {
var request, response;
var response;
axios({
url: '/foo'
}).then(function (r) {
axios('/foo').then(function (r) {
response = r;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
+27 -62
View File
@@ -10,12 +10,10 @@ describe('requests', function () {
});
it('should treat single string arg as url', function (done) {
var request;
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo');
expect(request.method).toBe('GET');
@@ -24,14 +22,10 @@ describe('requests', function () {
});
it('should allow string arg as url, and config arg', function (done) {
var request;
axios('/foo', {
method: 'POST'
});
axios.post('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo');
expect(request.method).toBe('POST');
@@ -40,14 +34,10 @@ describe('requests', function () {
});
it('should make an http request', function (done) {
var request;
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.url).toBe('/foo');
done();
@@ -68,26 +58,20 @@ describe('requests', function () {
done();
};
axios({
url: 'http://thisisnotaserver'
})
.then(resolveSpy, rejectSpy)
.then(finish, finish);
axios('http://thisisnotaserver')
.then(resolveSpy, rejectSpy)
.then(finish, finish);
});
it('should make cross domian http request', function (done) {
var request, response;
var response;
axios({
method: 'post',
url: 'www.someurl.com/foo',
xDomain: true
}).then(function(res){
axios.post('www.someurl.com/foo').then(function(res){
response = res;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
statusText: 'OK',
@@ -111,17 +95,14 @@ describe('requests', function () {
it('should supply correct response', function (done) {
var request, response;
var response;
axios({
method: 'post',
url: '/foo'
}).then(function (res) {
axios.post('/foo').then(function (res) {
response = res;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -144,16 +125,14 @@ describe('requests', function () {
// https://github.com/mzabriskie/axios/issues/201
it('should fix IE no content error', function (done) {
var request, response;
var response;
axios({
url: '/foo'
}).then(function (res) {
axios('/foo').then(function (res) {
response = res
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 1223,
@@ -169,13 +148,10 @@ describe('requests', function () {
});
it('should allow overriding Content-Type header case-insensitive', function (done) {
var request, response;
var response;
var contentType = 'application/vnd.myapp.type+json';
axios({
url: '/foo',
method: 'post',
data: { prop: 'value' },
axios.post('/foo', { prop: 'value' }, {
headers: {
'content-type': contentType
}
@@ -184,7 +160,7 @@ describe('requests', function () {
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders['Content-Type']).toEqual(contentType);
done();
@@ -192,19 +168,14 @@ describe('requests', function () {
});
it('should support binary data as array buffer', function (done) {
var request;
var input = new Int8Array(2);
input[0] = 1;
input[1] = 2;
axios({
method: 'post',
url: '/foo',
data: input.buffer
});
axios.post('/foo', input.buffer);
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
var output = new Int8Array(request.params.buffer);
expect(output.length).toEqual(2);
@@ -215,19 +186,14 @@ describe('requests', function () {
});
it('should support binary data as array buffer view', function (done) {
var request;
var input = new Int8Array(2);
input[0] = 1;
input[1] = 2;
axios({
method: 'post',
url: '/foo',
data: input
});
axios.post('/foo', input);
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
var output = new Int8Array(request.params.buffer);
expect(output.length).toEqual(2);
@@ -238,7 +204,7 @@ describe('requests', function () {
});
it('should support array buffer response', function (done) {
var request, response;
var response;
function str2ab(str) {
var buff = new ArrayBuffer(str.length * 2);
@@ -249,15 +215,14 @@ describe('requests', function () {
return buff;
}
axios({
url: '/foo',
axios('/foo', {
responseType: 'arraybuffer'
}).then(function (data) {
response = data;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
+11 -28
View File
@@ -10,19 +10,14 @@ describe('transform', function () {
});
it('should transform JSON to string', function (done) {
var request;
var data = {
foo: 'bar'
};
axios({
url: '/foo',
method: 'post',
data: data
});
axios.post('/foo', data);
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.params).toEqual('{"foo":"bar"}');
done();
@@ -30,16 +25,14 @@ describe('transform', function () {
});
it('should transform string to JSON', function (done) {
var request, response;
var response;
axios({
url: '/foo'
}).then(function (data) {
axios('/foo').then(function (data) {
response = data;
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
request.respondWith({
status: 200,
@@ -55,22 +48,18 @@ describe('transform', function () {
});
it('should override default transform', function (done) {
var request;
var data = {
foo: 'bar'
};
axios({
url: '/foo',
method: 'post',
data: data,
axios.post('/foo', data, {
transformRequest: function (data) {
return data;
}
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(typeof request.params).toEqual('object');
done();
@@ -78,15 +67,11 @@ describe('transform', function () {
});
it('should allow an Array of transformers', function (done) {
var request;
var data = {
foo: 'bar'
};
axios({
url: '/foo',
method: 'post',
data: data,
axios.post('/foo', data, {
transformRequest: axios.defaults.transformRequest.concat(
function (data) {
return data.replace('bar', 'baz');
@@ -95,7 +80,7 @@ describe('transform', function () {
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.params).toEqual('{"foo":"baz"}');
done();
@@ -104,17 +89,15 @@ describe('transform', function () {
it('should allowing mutating headers', function (done) {
var token = Math.floor(Math.random() * Math.pow(2, 64)).toString(36);
var request;
axios({
url: '/foo',
axios('/foo', {
transformRequest: function (data, headers) {
headers['X-Authorization'] = token;
}
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders['X-Authorization']).toEqual(token);
done();
+8 -20
View File
@@ -11,14 +11,10 @@ describe('xsrf', function () {
});
it('should not set xsrf header if cookie is null', function (done) {
var request;
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual(undefined);
done();
@@ -26,15 +22,12 @@ describe('xsrf', function () {
});
it('should set xsrf header if cookie is set', function (done) {
var request;
document.cookie = axios.defaults.xsrfCookieName + '=12345';
axios({
url: '/foo'
});
axios('/foo');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual('12345');
done();
@@ -42,15 +35,12 @@ describe('xsrf', function () {
});
it('should not set xsrf header for cross origin', function (done) {
var request;
document.cookie = axios.defaults.xsrfCookieName + '=12345';
axios({
url: 'http://example.com/'
});
axios('http://example.com/');
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual(undefined);
done();
@@ -58,16 +48,14 @@ describe('xsrf', function () {
});
it('should set xsrf header for cross origin when using withCredentials', function (done) {
var request;
document.cookie = axios.defaults.xsrfCookieName + '=12345';
axios({
url: 'http://example.com/',
axios('http://example.com/', {
withCredentials: true
});
setTimeout(function () {
request = jasmine.Ajax.requests.mostRecent();
var request = jasmine.Ajax.requests.mostRecent();
expect(request.requestHeaders[axios.defaults.xsrfHeaderName]).toEqual('12345');
done();