test: add vitest config and unit tests
This commit is contained in:
@@ -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: '已退出' })
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user