import { beforeEach, describe, expect, it, vi } from 'vitest'; const requestMocks = vi.hoisted(() => ({ post: vi.fn(), })); vi.mock('@/utils/request', () => ({ request: { post: requestMocks.post, }, })); import { completeSetup } from '../src/api/setup'; describe('setup API', () => { beforeEach(() => { requestMocks.post.mockReset(); requestMocks.post.mockResolvedValue({ completed: true }); }); it('allows enough time for the first database migration', async () => { const request = { setupCode: 'fixture-code', databaseType: 'MYSQL' as const, host: '127.0.0.1', port: 3306, database: 'kaidi_finance', username: 'kaidi', password: 'fixture-password', adminUsername: 'admin', adminDisplayName: '系统管理员', adminPassword: 'SetupAdmin@2026Strong', adminPasswordConfirmation: 'SetupAdmin@2026Strong', }; await completeSetup(request); expect(requestMocks.post).toHaveBeenCalledWith({ url: '/setup/complete', data: request, timeout: 120_000, }); }); });