Files
lpt-fe/src/__tests__/api/login.spec.ts
T

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: '已退出' })
})
})