blob: 73c99ae802a961169266a9ab4d10c4969473c7fd [file] [log] [blame]
package edu.bjtu.groupone.backend;
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.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;
import java.util.Arrays;
import java.util.List;
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 UserService userService;
@InjectMocks
private UserController userController;
private User testUser;
@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();
}
}