axios-miniprogram/test/axios.api.test.ts

40 lines
1.3 KiB
TypeScript
Raw Normal View History

2023-04-09 15:20:10 +08:00
import { describe, test, expect } from 'vitest';
import Axios from '@/core/Axios';
import { CancelToken, isCancel } from '@/core/cancel';
import { isAxiosError } from '@/core/createError';
import { createAdapter } from '@/adapter';
import axios from '@/axios';
2023-04-10 15:03:59 +08:00
import defaults from '@/defaults';
2023-04-05 08:40:00 +08:00
describe('src/axios.ts', () => {
test('应该有这些静态属性', () => {
expect(axios.Axios).toBe(Axios);
expect(axios.CancelToken).toBe(CancelToken);
2023-04-09 15:20:10 +08:00
expect(axios.create).toBeTypeOf('function');
2023-04-05 08:40:00 +08:00
expect(axios.createAdapter).toBe(createAdapter);
2023-04-05 13:31:48 +08:00
expect(axios.isCancel).toBe(isCancel);
expect(axios.isAxiosError).toBe(isAxiosError);
});
2023-04-10 15:03:59 +08:00
test('应该可以创建实例', () => {
const i1 = axios.create();
const i2 = axios.create({
baseURL: 'http://api.com',
});
expect(i1.defaults).toEqual(defaults);
expect(i2.defaults).toEqual({ ...defaults, baseURL: 'http://api.com' });
});
test('创建的实例应该有这些实例属性及方法', () => {
expect(axios.defaults).toBe(defaults);
expect(axios.interceptors).toBeTypeOf('object');
expect(axios.getUri).toBeTypeOf('function');
expect(axios.fork).toBeTypeOf('function');
expect(axios.request).toBeTypeOf('function');
[...Axios.as, ...Axios.asp, ...Axios.asd].forEach((k) => {
expect(axios[k]).toBeTypeOf('function');
});
});
2023-04-05 08:40:00 +08:00
});