Skip to content

Commit 78d5b32

Browse files
committed
fix tests
1 parent 9772f58 commit 78d5b32

File tree

2 files changed

+16
-26
lines changed

2 files changed

+16
-26
lines changed

test/specs/services/Service.spec.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ import Context from '@/vo/Context';
1313

1414
// utils
1515
import createMockAxiosInstance from '@test-utils/createMockAxiosInstance';
16+
import createMockAxiosRequestClient from '@test-utils/createMockAxiosInstance';
1617
import { createMockItem, createMockResponse } from '@test-utils/nlic';
1718

1819
describe('Service', () => {
19-
let mockAxios: ReturnType<typeof createMockAxiosInstance>;
20+
let mockAxios: ReturnType<typeof createMockAxiosRequestClient>;
2021

2122
beforeEach(() => {
2223
mockAxios = createMockAxiosInstance();
@@ -38,7 +39,7 @@ describe('Service', () => {
3839

3940
const response = await Service.get(context, 'token/123', {}, { onResponse, onInfo });
4041

41-
expect(mockAxios).toHaveBeenCalledOnce();
42+
expect(mockAxios.request).toHaveBeenCalledOnce();
4243
expect(onResponse).toHaveBeenCalledWith(response);
4344
expect(onInfo).toHaveBeenCalledWith(infos);
4445
expect(response).toMatchObject({ data });
@@ -61,7 +62,7 @@ describe('Service', () => {
6162

6263
await method(context, 'some-url', payload, { axiosInstance: mockAxios });
6364

64-
expect(mockAxios).toHaveBeenCalledWith(
65+
expect(mockAxios.request).toHaveBeenCalledWith(
6566
expect.objectContaining({
6667
headers: expect.objectContaining({ Accept: 'application/json' }) as Record<string, string>,
6768
url: expect.stringContaining('some-url') as string,
@@ -76,7 +77,7 @@ describe('Service', () => {
7677

7778
await method(context, 'some-url', {}, { axiosInstance: mockAxios });
7879

79-
expect(mockAxios).toHaveBeenCalledWith(
80+
expect(mockAxios.request).toHaveBeenCalledWith(
8081
expect.objectContaining({
8182
auth: {
8283
username: context.getUsername(),
@@ -91,7 +92,7 @@ describe('Service', () => {
9192

9293
await method(context, 'some-url', {}, { axiosInstance: mockAxios });
9394

94-
expect(mockAxios).toHaveBeenCalledWith(
95+
expect(mockAxios.request).toHaveBeenCalledWith(
9596
expect.objectContaining({
9697
headers: expect.objectContaining({
9798
Authorization: `Basic ${btoa('apiKey:some-api-key')}`,
Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
import type { AxiosInstance, AxiosResponse } from 'axios';
1+
import type { AxiosResponse } from 'axios';
22
import { vi } from 'vitest';
3+
import { AxiosRequestClient } from '@/types';
34

4-
export const createMockAxiosInstance = (response?: Partial<AxiosResponse>): AxiosInstance => {
5+
export const createMockAxiosRequestClient = (
6+
response?: Partial<AxiosResponse>,
7+
): AxiosRequestClient & {
8+
request: ReturnType<typeof vi.fn>;
9+
} => {
510
const defaultResponse = {
611
data: {},
712
status: 200,
@@ -11,25 +16,9 @@ export const createMockAxiosInstance = (response?: Partial<AxiosResponse>): Axio
1116
...response,
1217
} as AxiosResponse;
1318

14-
const handler = vi.fn().mockResolvedValue(defaultResponse);
15-
16-
const instance = Object.assign(handler, {
19+
return {
1720
request: vi.fn().mockResolvedValue(defaultResponse),
18-
get: vi.fn().mockResolvedValue(defaultResponse),
19-
delete: vi.fn().mockResolvedValue(defaultResponse),
20-
head: vi.fn().mockResolvedValue(defaultResponse),
21-
options: vi.fn().mockResolvedValue(defaultResponse),
22-
post: vi.fn().mockResolvedValue(defaultResponse),
23-
put: vi.fn().mockResolvedValue(defaultResponse),
24-
patch: vi.fn().mockResolvedValue(defaultResponse),
25-
defaults: {},
26-
interceptors: {
27-
request: { use: vi.fn(), eject: vi.fn() },
28-
response: { use: vi.fn(), eject: vi.fn() },
29-
},
30-
});
31-
32-
return instance as unknown as AxiosInstance;
21+
};
3322
};
3423

35-
export default createMockAxiosInstance;
24+
export default createMockAxiosRequestClient;

0 commit comments

Comments
 (0)