✅ 完成测试
parent
1f4f65ffd1
commit
b3c11c0252
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "axios-miniprogram",
|
"name": "axios-miniprogram",
|
||||||
"version": "1.0.9",
|
"version": "1.0.10",
|
||||||
"description": "基于 Promise 的 HTTP 请求库,适用于各大小程序平台。",
|
"description": "基于 Promise 的 HTTP 请求库,适用于各大小程序平台。",
|
||||||
"main": "package/index.js",
|
"main": "package/index.js",
|
||||||
"miniprogram": "package",
|
"miniprogram": "package",
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: early-autumn
|
* @Author: early-autumn
|
||||||
* @Date: 2020-04-13 18:01:16
|
* @Date: 2020-04-13 18:01:16
|
||||||
* @LastEditors: early-autumn
|
* @LastEditors: early-autumn
|
||||||
* @LastEditTime: 2020-04-20 13:36:32
|
* @LastEditTime: 2020-04-20 23:23:29
|
||||||
*/
|
*/
|
||||||
import { AxiosRequestConfig, AxiosResponse } from '../types';
|
import { AxiosRequestConfig, AxiosResponse } from '../types';
|
||||||
import isCancel from '../cancel/isCancel';
|
import isCancel from '../cancel/isCancel';
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
/*
|
||||||
|
* @Author: early-autumn
|
||||||
|
* @Date: 2020-04-20 22:42:46
|
||||||
|
* @LastEditors: early-autumn
|
||||||
|
* @LastEditTime: 2020-04-20 23:22:29
|
||||||
|
*/
|
||||||
|
import dispatchRequest from '../../src/core/dispatchRequest';
|
||||||
|
import CancelToken from '../../src/cancel/CancelToken';
|
||||||
|
import isCancel from '../../src/cancel/isCancel';
|
||||||
|
import { CancelAction } from '../../src/types';
|
||||||
|
|
||||||
|
const task = {
|
||||||
|
abort: jest.fn(),
|
||||||
|
};
|
||||||
|
|
||||||
|
describe('测试 src/core/dispatchRequest.ts', () => {
|
||||||
|
it('默认', async () => {
|
||||||
|
await dispatchRequest({}).catch((err) => {
|
||||||
|
expect(err.message).toBe('平台适配失败,您需要参阅文档使用自定义适配器手动适配当前平台');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('请求失败', async () => {
|
||||||
|
await dispatchRequest({
|
||||||
|
adapter({ success }) {
|
||||||
|
success({ status: 200, data: '' });
|
||||||
|
return task;
|
||||||
|
},
|
||||||
|
validateStatus(status) {
|
||||||
|
return status === -1;
|
||||||
|
},
|
||||||
|
}).catch((err) => expect(err.response.status).toBe(200));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('取消请求', () => {
|
||||||
|
try {
|
||||||
|
let cancel: CancelAction;
|
||||||
|
dispatchRequest({
|
||||||
|
adapter({ success }) {
|
||||||
|
cancel();
|
||||||
|
setTimeout(() => {
|
||||||
|
success({ status: 200, data: '' });
|
||||||
|
});
|
||||||
|
return task;
|
||||||
|
},
|
||||||
|
cancelToken: new CancelToken(function executor(c) {
|
||||||
|
cancel = c;
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
expect(isCancel(err)).toBe(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
|
@ -2,13 +2,14 @@
|
||||||
* @Author: early-autumn
|
* @Author: early-autumn
|
||||||
* @Date: 2020-04-20 20:39:42
|
* @Date: 2020-04-20 20:39:42
|
||||||
* @LastEditors: early-autumn
|
* @LastEditors: early-autumn
|
||||||
* @LastEditTime: 2020-04-20 20:45:17
|
* @LastEditTime: 2020-04-20 23:27:34
|
||||||
*/
|
*/
|
||||||
import flattenHeaders from '../../src/core/flattenHeaders';
|
import flattenHeaders from '../../src/core/flattenHeaders';
|
||||||
|
|
||||||
describe('测试 src/core/flattenHeaders.ts', () => {
|
describe('测试 src/core/flattenHeaders.ts', () => {
|
||||||
it('默认', () => {
|
it('默认', () => {
|
||||||
expect(flattenHeaders({})).toEqual({});
|
expect(flattenHeaders({})).toEqual({});
|
||||||
|
expect(flattenHeaders({ headers: {} })).toEqual({});
|
||||||
});
|
});
|
||||||
|
|
||||||
it('默认 get', () => {
|
it('默认 get', () => {
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
/*
|
||||||
|
* @Author: early-autumn
|
||||||
|
* @Date: 2020-04-20 22:51:26
|
||||||
|
* @LastEditors: early-autumn
|
||||||
|
* @LastEditTime: 2020-04-20 23:26:18
|
||||||
|
*/
|
||||||
|
import request from '../../src/core/request';
|
||||||
|
import CancelToken from '../../src/cancel/CancelToken';
|
||||||
|
import isCancel from '../../src/cancel/isCancel';
|
||||||
|
|
||||||
|
const task = {
|
||||||
|
abort: jest.fn(),
|
||||||
|
};
|
||||||
|
|
||||||
|
describe('测试 src/core/request.ts', () => {
|
||||||
|
it('默认', async () => {
|
||||||
|
await request({}).catch((err) => {
|
||||||
|
expect(err.message).toBe('平台适配失败,您需要参阅文档使用自定义适配器手动适配当前平台');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('请求失败', async () => {
|
||||||
|
await request({
|
||||||
|
adapter({ fail }) {
|
||||||
|
fail({});
|
||||||
|
return task;
|
||||||
|
},
|
||||||
|
}).catch((err) => {
|
||||||
|
expect(err.message).toBe('配置不正确或者网络异常');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('取消请求', async () => {
|
||||||
|
await request({
|
||||||
|
adapter() {
|
||||||
|
return task;
|
||||||
|
},
|
||||||
|
cancelToken: new CancelToken(function executor(c) {
|
||||||
|
c();
|
||||||
|
}),
|
||||||
|
}).catch((err) => expect(isCancel(err)).toBe(true));
|
||||||
|
});
|
||||||
|
});
|
Loading…
Reference in New Issue