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

37 lines
1.1 KiB
TypeScript

import { describe, test, expect } from 'vitest';
import { eachMethods } from 'scripts/test.utils';
import { CancelToken, isCancel } from '@/request/cancel';
import { isAxiosError } from '@/request/createError';
import Axios from '@/core/Axios';
import { createAdapter } from '@/adpater/createAdapter';
import defaults from '@/defaults';
import axios from '@/axios';
describe('src/axios.ts', () => {
test('应该有这些静态属性', () => {
expect(axios.Axios).toBe(Axios);
expect(axios.CancelToken).toBe(CancelToken);
expect(axios.createAdapter).toBe(createAdapter);
expect(axios.isCancel).toBe(isCancel);
expect(axios.isAxiosError).toBe(isAxiosError);
});
test('应该可以创建实例', () => {
const instance = axios.create({
baseURL: 'http://api.com',
});
expect(instance.defaults).toEqual({
...defaults,
baseURL: 'http://api.com',
});
expect(instance.interceptors).toBeTypeOf('object');
expect(instance.getUri).toBeTypeOf('function');
expect(instance.request).toBeTypeOf('function');
eachMethods((k) => {
expect(instance[k]).toBeTypeOf('function');
});
});
});