36 lines
1.0 KiB
TypeScript
36 lines
1.0 KiB
TypeScript
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: '已退出' })
|
|
})
|
|
})
|