刘光辉
9 小时以前 0dfe84494048ce27ba8449831782128412d3eb13
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { beforeEach, describe, expect, it, vi } from 'vitest';
 
const requestMocks = vi.hoisted(() => ({
  post: vi.fn(),
  put: vi.fn(),
}));
 
vi.mock('#/api/request', () => ({
  defHttp: {
    delete: vi.fn(),
    get: vi.fn(),
    post: requestMocks.post,
    put: requestMocks.put,
  },
}));
 
vi.mock('@vben/stores', () => ({
  useUserStore: () => ({ getUserInfo: {} }),
}));
 
// eslint-disable-next-line import/first -- request modules must be mocked before loading the API wrapper.
import { audit, create, saveAudit, update } from './task';
 
describe('workflow form submit API audit header', () => {
  beforeEach(() => vi.clearAllMocks());
 
  it.each([
    ['create', () => create({ formData: { biz_sign: '839875756384423365' } }), requestMocks.post],
    ['update', () => update({ id: 'task-1', formData: { biz_sign: '839875756384423365' } }), requestMocks.put],
    ['audit', () => audit('operator-1', { formData: { biz_sign: '839875756384423365' } }), requestMocks.post],
    ['saveAudit', () => saveAudit('operator-1', { formData: { biz_sign: '839875756384423365' } }), requestMocks.post],
  ])('%s sends X-Audit-Biz-Sign', (_name, submit, request) => {
    submit();
 
    expect(request).toHaveBeenCalledWith(expect.objectContaining({ headers: { 'X-Audit-Biz-Sign': '839875756384423365' } }));
  });
});