实现分区,作品,用户等的增删改查,并完成配套测试文件
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