通知与推荐功能,css样式优化

Change-Id: I33d934bfdca88b7a8e6742be2a3c7323d28ffbcf
diff --git a/src/components/Administer.test.jsx b/src/components/Administer.test.jsx
index 598ed4e..2cb5bb0 100644
--- a/src/components/Administer.test.jsx
+++ b/src/components/Administer.test.jsx
@@ -1,32 +1,31 @@
 import React from 'react';
-import { render, screen, waitFor, fireEvent, act } from '@testing-library/react';
+import { render, screen, waitFor, fireEvent } from '@testing-library/react';
 import { MemoryRouter } from 'react-router-dom';
 import '@testing-library/jest-dom';
-import axios from 'axios';
-import MockAdapter from 'axios-mock-adapter';
 import Administer from './Administer';
 
-describe('Administer Component', () => {
-  let mock;
+// 导入要模拟的API函数
+import { 
+  getAllUsers, 
+  searchUsers, 
+  getAllDiscounts,
+  getCurrentDiscount
+} from '../api/administer';
+import { getAnnouncements } from '../api/announcement';
 
-  beforeAll(() => {
-    mock = new MockAdapter(axios);
+// 模拟API模块
+jest.mock('../api/administer');
+jest.mock('../api/announcement');
+
+describe('Administer Component', () => {
+  beforeEach(() => {
+    // 清除所有模拟的调用信息
+    jest.clearAllMocks();
     localStorage.setItem('token', 'test-token');
   });
 
-  afterEach(() => {
-    mock.reset();
-  });
-
-  afterAll(() => {
-    mock.restore();
-  });
-
   test('renders user management tab by default', async () => {
-    mock.onGet('/user/allUser').reply(200, {
-      code: 200,
-      data: { data: [] }
-    });
+    getAllUsers.mockResolvedValue([]);
 
     render(
       <MemoryRouter>
@@ -53,10 +52,7 @@
       }
     ];
 
-    mock.onGet('/user/allUser').reply(200, {
-      code: 200,
-      data: { data: mockUsers }
-    });
+    getAllUsers.mockResolvedValue(mockUsers);
 
     render(
       <MemoryRouter>
@@ -73,14 +69,17 @@
     const mockUsers = [
       {
         username: 'searchuser',
-        authority: 'USER'
+        authority: 'USER',
+        registTime: '2023-01-01',
+        lastLogin: '2023-05-01',
+        upload: 1000,
+        download: 500,
+        shareRate: 2.0,
+        magicPoints: 100
       }
     ];
 
-    mock.onGet('/user/searchUser').reply(200, {
-      code: 200,
-      data: { data: mockUsers }
-    });
+    searchUsers.mockResolvedValue(mockUsers);
 
     render(
       <MemoryRouter>
@@ -99,15 +98,13 @@
   });
 
   test('switches between tabs', async () => {
-    mock.onGet('/user/allUser').reply(200, {
-      code: 200,
-      data: { data: [] }
-    });
-
-    mock.onGet('/discount/all').reply(200, {
-      code: 200,
-      data: { data: [] }
-    });
+    // 设置初始用户数据
+    getAllUsers.mockResolvedValue([]);
+    // 设置折扣数据
+    getAllDiscounts.mockResolvedValue([]);
+    getCurrentDiscount.mockResolvedValue(null);
+    // 设置公告数据
+    getAnnouncements.mockResolvedValue([]);
 
     render(
       <MemoryRouter>
@@ -115,10 +112,12 @@
       </MemoryRouter>
     );
 
+    // 切换到折扣管理标签
     fireEvent.click(screen.getByText('折扣管理'));
 
     await waitFor(() => {
       expect(screen.getByText('添加新折扣')).toBeInTheDocument();
+      // 可以添加更多断言来验证折扣管理页面的内容
     });
   });
 });
\ No newline at end of file