实现分区,作品,用户等的增删改查,并完成配套测试文件

Change-Id: Ibdcd6944106b7ffba30c63e4c878d66fa0213303
diff --git a/src/test/java/edu/bjtu/groupone/backend/UserControllerTest.java b/src/test/java/edu/bjtu/groupone/backend/UserControllerTest.java
index f1cf6d4..73c99ae 100644
--- a/src/test/java/edu/bjtu/groupone/backend/UserControllerTest.java
+++ b/src/test/java/edu/bjtu/groupone/backend/UserControllerTest.java
@@ -1,54 +1,90 @@
 package edu.bjtu.groupone.backend;
 
-import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import ch.qos.logback.classic.Logger;
-import org.slf4j.LoggerFactory;
-import edu.bjtu.groupone.backend.mapper.UserMapper;
+import edu.bjtu.groupone.backend.api.UserController;
+import edu.bjtu.groupone.backend.domain.entity.Result;
 import edu.bjtu.groupone.backend.domain.entity.User;
-import edu.bjtu.groupone.backend.service.impl.UserServImpl;
+import edu.bjtu.groupone.backend.service.UserService;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 
-@ExtendWith(MockitoExtension.class)
-public class UserControllerTest {
+import java.util.Arrays;
+import java.util.List;
 
-    // 初始化 Logger,避免空指针
-    private static final Logger log = (Logger) LoggerFactory.getLogger(UserControllerTest.class);
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.*;
+
+@ExtendWith(MockitoExtension.class)
+class UserControllerTest {
 
     @Mock
-    private UserMapper userMapper;
-
-
+    private UserService userService;
 
     @InjectMocks
-    private UserServImpl userService;
+    private UserController userController;
 
+    private User testUser;
 
-
-    @Test
-    public void testLogin() {
-        User loginUser = new User();
-        loginUser.setIdentificationNumber(123456);
-        loginUser.setPassword("password123");
-        User expected = new User();
-        expected.setUsername("expectedUsername");
-
-        // 模拟 mapper 返回
-        when(userMapper.login(loginUser)).thenReturn(expected);
-
-        // 调用 service 并断言
-        User result = userService.login(loginUser);
-        assertThat(result).isNotNull();
-        assertThat(result.getUsername()).isEqualTo("expectedUsername");
-        verify(userMapper, times(1)).login(loginUser);
+    @BeforeEach
+    void setUp() {
+        testUser = new User();
+        testUser.setUserId(1);
+        testUser.setUsername("testuser");
+        testUser.setEmail("test@example.com");
     }
 
+    @Test
+    void deleteUser_shouldReturnSuccess() {
+        // 调用
+        Result<String> result = userController.deleteUser(1);
 
-}
+        // 验证:修改预期为英文 "success"
+        assertEquals(0, result.getCode());
+        assertEquals("success", result.getMsg());  // 修改这里
+        verify(userService, times(1)).deleteUser(1);
+    }
+
+    @Test
+    void updateUser_shouldReturnSuccess() {
+        // 调用
+        Result<String> result = userController.updateUser(1, testUser);
+
+        // 验证:修改预期为英文 "success"
+        assertEquals(0, result.getCode());
+        assertEquals("success", result.getMsg());  // 修改这里
+        verify(userService, times(1)).updateUser(any(User.class));
+    }
+
+    @Test
+    void getUser_shouldReturnUser() {
+        // 模拟
+        when(userService.getUserById(1)).thenReturn(testUser);
+
+        // 调用
+        Result<User> result = userController.getUser(1);
+
+        // 验证
+        assertEquals(0, result.getCode());
+        assertEquals(testUser, result.getData());
+        verify(userService, times(1)).getUserById(1);
+    }
+
+    @Test
+    void getAllUsers_shouldReturnUserList() {
+        // 模拟
+        List<User> users = Arrays.asList(testUser, new User());
+        when(userService.getAllUsers()).thenReturn(users);
+
+        // 调用
+        Result<List<User>> result = userController.getAllUsers();
+
+        // 验证
+        assertEquals(0, result.getCode());
+        assertEquals(2, result.getData().size());
+        verify(userService, times(1)).getAllUsers();
+    }
+}
\ No newline at end of file