mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-09-03 21:50:08 +00:00
200 lines
4.4 KiB
JavaScript
200 lines
4.4 KiB
JavaScript
|
import Vue from 'vue';
|
||
|
|
||
|
describe('Vue.http', function () {
|
||
|
|
||
|
it('get("data/text.txt")', done => {
|
||
|
|
||
|
Vue.http.get('data/text.txt').then(res => {
|
||
|
|
||
|
expect(res.ok).toBe(true);
|
||
|
expect(res.status).toBe(200);
|
||
|
expect(res.body).toBe('text');
|
||
|
expect(res.data).toBe(res.body);
|
||
|
expect(res.headers.get('Content-Type')).toBe('text/plain');
|
||
|
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
it('get("data/valid.json")', done => {
|
||
|
|
||
|
Vue.http.get('data/valid.json').then(res => {
|
||
|
|
||
|
expect(res.ok).toBe(true);
|
||
|
expect(res.status).toBe(200);
|
||
|
expect(typeof res.body).toBe('object');
|
||
|
expect(res.body.foo).toBe('bar');
|
||
|
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
it('get("data/invalid.json")', done => {
|
||
|
|
||
|
Vue.http.get('data/invalid.json').then(res => {
|
||
|
|
||
|
expect(res.ok).toBe(true);
|
||
|
expect(res.status).toBe(200);
|
||
|
expect(res.body).toBeNull();
|
||
|
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
it('get("github.com/avatar")', done => {
|
||
|
|
||
|
Vue.http.get('https://avatars1.githubusercontent.com/u/6128107', {responseType: 'blob'}).then(res => {
|
||
|
|
||
|
expect(res.ok).toBe(true);
|
||
|
expect(res.status).toBe(200);
|
||
|
expect(res.body instanceof Blob).toBe(true);
|
||
|
expect(res.body.type).toBe('image/png');
|
||
|
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
it('get("cors-api.appspot.com")', done => {
|
||
|
|
||
|
Vue.http.get('http://server.cors-api.appspot.com/server?id=1&enable=true').then(res => {
|
||
|
|
||
|
expect(res.ok).toBe(true);
|
||
|
expect(res.status).toBe(200);
|
||
|
expect(typeof res.body).toBe('object');
|
||
|
expect(res.body.shift().requestType).toBe('cors');
|
||
|
|
||
|
if (res.headers.get('Content-Type')) {
|
||
|
expect(res.headers.get('Content-Type')).toBe('application/json');
|
||
|
}
|
||
|
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
it('jsonp("jsfiddle.net/jsonp")', done => {
|
||
|
|
||
|
Vue.http.jsonp('http://jsfiddle.net/echo/jsonp/', {params: {foo: 'bar'}}).then(res => {
|
||
|
|
||
|
expect(res.ok).toBe(true);
|
||
|
expect(res.status).toBe(200);
|
||
|
expect(typeof res.body).toBe('object');
|
||
|
expect(res.body.foo).toBe('bar');
|
||
|
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
describe('this.$http', function () {
|
||
|
|
||
|
it('get("data/valid.json")', done => {
|
||
|
|
||
|
var vm = new Vue({
|
||
|
|
||
|
created() {
|
||
|
|
||
|
this.$http.get('data/valid.json').then(res => {
|
||
|
|
||
|
expect(this).toBe(vm);
|
||
|
expect(res.ok).toBe(true);
|
||
|
expect(res.status).toBe(200);
|
||
|
expect(typeof res.body).toBe('object');
|
||
|
expect(res.body.foo).toBe('bar');
|
||
|
|
||
|
done();
|
||
|
|
||
|
});
|
||
|
|
||
|
}
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
it('get("data/valid.json") with timeout', done => {
|
||
|
|
||
|
var vm = new Vue({
|
||
|
|
||
|
created() {
|
||
|
|
||
|
var random = Math.random().toString(36).substr(2);
|
||
|
|
||
|
this.$http.get(`data/valid.json?${random}`, {timeout: 1}).then(res => {
|
||
|
|
||
|
fail('Callback has been called');
|
||
|
|
||
|
}, res => {
|
||
|
|
||
|
expect(res.ok).toBe(false);
|
||
|
expect(res.status).toBe(0);
|
||
|
|
||
|
done();
|
||
|
|
||
|
});
|
||
|
|
||
|
}
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
it('get("data/valid.json") with abort()', done => {
|
||
|
|
||
|
var vm = new Vue({
|
||
|
|
||
|
created() {
|
||
|
|
||
|
var random = Math.random().toString(36).substr(2);
|
||
|
|
||
|
this.$http.get(`data/valid.json?${random}`, {
|
||
|
|
||
|
before(req) {
|
||
|
setTimeout(() => {
|
||
|
|
||
|
expect(typeof req.abort).toBe('function');
|
||
|
|
||
|
req.abort();
|
||
|
|
||
|
}, 0);
|
||
|
}
|
||
|
|
||
|
}).then(res => {
|
||
|
fail('Callback has been called');
|
||
|
}, res => {
|
||
|
done();
|
||
|
});
|
||
|
}
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
it('get("data/notfound.json") using catch()', done => {
|
||
|
|
||
|
var vm = new Vue({
|
||
|
|
||
|
created() {
|
||
|
|
||
|
this.$http.get('data/notfound.json').catch(res => {
|
||
|
|
||
|
expect(this).toBe(vm);
|
||
|
expect(res.ok).toBe(false);
|
||
|
expect(res.status).toBe(404);
|
||
|
|
||
|
done();
|
||
|
});
|
||
|
|
||
|
}
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|