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-07 15:18:05 +08:00
|
|
|
});
|
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
|
|
|
});
|