axios-miniprogram/__tests__/core/request.spec.ts

37 lines
941 B
TypeScript
Raw Normal View History

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('默认', () => {
2020-07-23 10:52:25 +08:00
request({}).then(void 0, (err) =>
2020-04-21 10:02:11 +08:00
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-07-23 10:52:25 +08:00
}).then(void 0, (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-07-23 10:52:25 +08:00
}).then(void 0, (err) => expect(isCancel(err)).toBe(true));
2020-04-20 23:28:23 +08:00
});
});