blob: f86da8db00ec0ad5cd8234bfd9bf723bf8aa559b [file] [log] [blame]
package com.example.g8backend.service;
import com.example.g8backend.entity.User;
import com.example.g8backend.mapper.UserMapper;
import com.example.g8backend.service.impl.UserServiceImpl;
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 static org.junit.jupiter.api.Assertions.*;
import static org.mockito.Mockito.*;
@ExtendWith(MockitoExtension.class)
class UserServiceTest {
@Mock
private UserMapper userMapper;
@InjectMocks
private UserServiceImpl userService;
@Test
void getUserByName_ShouldReturnUser_WhenNameExists() {
// 准备测试数据
String name = "Alice";
User expectedUser = new User();
expectedUser.setUserName(name);
// 模拟Mapper行为
when(userMapper.getUserByName(name)).thenReturn(expectedUser);
// 调用被测试方法
User actualUser = userService.getUserByName(name);
// 验证结果
assertEquals(expectedUser, actualUser);
verify(userMapper, times(1)).getUserByName(name);
}
@Test
void getUserByEmail_ShouldReturnUser_WhenEmailExists() {
String email = "xxi13552467509@163.com";
User expectedUser = new User();
expectedUser.setEmail(email);
when(userMapper.getUserByEmail(email)).thenReturn(expectedUser);
User actualUser = userService.getUserByEmail(email);
assertEquals(expectedUser, actualUser);
verify(userMapper, times(1)).getUserByEmail(email);
}
@Test
void getUserByPasskey_ShouldReturnUser_WhenPasskeyExists() {
String passkey = "secret123";
User expectedUser = new User();
expectedUser.setPasskey(passkey);
when(userMapper.getUserByPasskey(passkey)).thenReturn(expectedUser);
User actualUser = userService.getUserByPasskey(passkey);
assertEquals(expectedUser, actualUser);
verify(userMapper, times(1)).getUserByPasskey(passkey);
}
@Test
void getUserByName_ShouldReturnNull_WhenNameNotExists() {
String name = "Unknown";
when(userMapper.getUserByName(name)).thenReturn(null);
User result = userService.getUserByName(name);
assertNull(result);
verify(userMapper, times(1)).getUserByName(name);
}
}