test: add vitest config and unit tests

This commit is contained in:
2026-05-27 23:28:41 +08:00
parent f35f73dca0
commit 13846a0b61
13 changed files with 1087 additions and 1 deletions
+35
View File
@@ -0,0 +1,35 @@
import { describe, it, expect, vi, beforeEach } from 'vitest'
vi.mock('@/utils/request', () => ({
default: {
post: vi.fn(),
get: vi.fn(),
put: vi.fn(),
delete: vi.fn(),
},
}))
import request from '@/utils/request'
import { login, logout } from '@/api/login'
const mockedRequest = vi.mocked(request)
describe('login API', () => {
beforeEach(() => {
vi.clearAllMocks()
})
it('login sends POST to /login with credentials', async () => {
mockedRequest.post.mockResolvedValue({ code: 200, message: 'OK' })
const result = await login('admin', '123456')
expect(mockedRequest.post).toHaveBeenCalledWith('/login', { username: 'admin', password: '123456' })
expect(result).toEqual({ code: 200, message: 'OK' })
})
it('logout sends POST to /logout', async () => {
mockedRequest.post.mockResolvedValue({ code: 200, message: '已退出' })
const result = await logout()
expect(mockedRequest.post).toHaveBeenCalledWith('/logout')
expect(result).toEqual({ code: 200, message: '已退出' })
})
})