axios-miniprogram/test/core/request.test.ts

43 lines
1.1 KiB
TypeScript
Raw Normal View History

2020-04-20 23:28:23 +08:00
/*
* @Author: early-autumn
* @Date: 2020-04-20 22:51:26
* @LastEditors: early-autumn
2020-04-21 10:02:11 +08:00
* @LastEditTime: 2020-04-21 09:37:30
2020-04-20 23:28:23 +08:00
*/
import request from '../../src/core/request';
import CancelToken from '../../src/cancel/CancelToken';
import isCancel from '../../src/cancel/isCancel';
describe('测试 src/core/request.ts', () => {
2020-04-21 10:02:11 +08:00
it('默认', () => {
request({}).then(undefined, (err) =>
expect(err.message).toBe('平台适配失败,您需要参阅文档使用自定义适配器手动适配当前平台')
);
2020-04-20 23:28:23 +08:00
});
2020-04-21 10:02:11 +08:00
it('请求失败', () => {
request({
adapter({ fail }): any {
2020-04-20 23:28:23 +08:00
fail({});
2020-04-21 10:02:11 +08:00
return 'task';
2020-04-20 23:28:23 +08:00
},
2020-04-21 10:02:11 +08:00
}).then(undefined, (err) => expect(err.message).toBe('配置不正确或者网络异常'));
2020-04-20 23:28:23 +08:00
});
2020-04-21 10:02:11 +08:00
it('取消请求', () => {
request({
adapter({ fail }) {
setTimeout(fail);
return {
abort: jest.fn(),
};
2020-04-20 23:28:23 +08:00
},
cancelToken: new CancelToken(function executor(c) {
c();
}),
2020-04-21 10:02:11 +08:00
}).then(undefined, (err) => expect(isCancel(err)).toBe(true));
2020-04-20 23:28:23 +08:00
});
});