| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- import { describe, it, expect, vi, beforeEach } from 'vitest'
- import { getDashboardStats } from '@/api/stats'
- import * as request from '@/utils/request'
- vi.mock('@/utils/request', () => ({
- get: vi.fn()
- }))
- describe('Stats API', () => {
- beforeEach(() => {
- vi.clearAllMocks()
- })
- describe('getDashboardStats', () => {
- it('should call GET /admin/stats/dashboard', async () => {
- const mockResponse = {
- code: 200,
- message: 'success',
- data: {
- machineTotal: 5,
- machineEnabled: 4,
- cameraTotal: 20,
- cameraOnline: 18,
- cameraOffline: 2,
- channelTotal: 40
- }
- }
- vi.mocked(request.get).mockResolvedValue(mockResponse)
- const result = await getDashboardStats()
- expect(request.get).toHaveBeenCalledWith('/admin/stats/dashboard')
- expect(result.code).toBe(200)
- expect(result.data.machineTotal).toBe(5)
- expect(result.data.cameraTotal).toBe(20)
- expect(result.data.cameraOnline).toBe(18)
- })
- it('should handle empty stats', async () => {
- const mockResponse = {
- code: 200,
- message: 'success',
- data: {
- machineTotal: 0,
- machineEnabled: 0,
- cameraTotal: 0,
- cameraOnline: 0,
- cameraOffline: 0,
- channelTotal: 0
- }
- }
- vi.mocked(request.get).mockResolvedValue(mockResponse)
- const result = await getDashboardStats()
- expect(result.data.machineTotal).toBe(0)
- expect(result.data.cameraTotal).toBe(0)
- })
- it('should handle API error', async () => {
- const mockResponse = {
- code: 500,
- message: '服务器错误',
- data: null
- }
- vi.mocked(request.get).mockResolvedValue(mockResponse)
- const result = await getDashboardStats()
- expect(result.code).toBe(500)
- })
- })
- })
|