You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
2.5 KiB
84 lines
2.5 KiB
package de.fd.fh.server.user;
|
|
|
|
import de.fd.fh.server.user.web.ChangeUserRequest;
|
|
import de.fd.fh.server.user.web.UserRequest;
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.mockito.ArgumentCaptor;
|
|
|
|
import java.util.Observable;
|
|
import java.util.Observer;
|
|
|
|
import static org.junit.jupiter.api.Assertions.*;
|
|
import static org.mockito.ArgumentMatchers.any;
|
|
import static org.mockito.Mockito.*;
|
|
|
|
class UserServiceTest implements Observer
|
|
{
|
|
private Object event;
|
|
|
|
@BeforeEach
|
|
void before()
|
|
{
|
|
event = null;
|
|
}
|
|
|
|
@Test
|
|
void given_storedUser_when_changePassword_should_changePassword()
|
|
{
|
|
final User user =
|
|
User.of("testName");
|
|
final ChangeUserRequest request =
|
|
new ChangeUserRequest("testName", "newPassword");
|
|
final UserRepository repository = mock(UserRepository.class);
|
|
when(repository.findUserById(any(UserId.class)))
|
|
.thenReturn(user);
|
|
|
|
final UserService service = new UserService(repository);
|
|
service.addObserver(this);
|
|
final ArgumentCaptor<User> captor = ArgumentCaptor.forClass(User.class);
|
|
|
|
service.changePlayer(UserId.of("12345"), request);
|
|
verify(repository).save(captor.capture());
|
|
|
|
assertNotNull(captor.getValue(), "Should be saved");
|
|
assertNotNull(event);
|
|
}
|
|
|
|
@Test
|
|
void given_storedUser_when_getPlayer_should_returnPlayer()
|
|
{
|
|
final User user =
|
|
User.of("testName");
|
|
final UserRepository repository = mock(UserRepository.class);
|
|
when(repository.findUserById(any(UserId.class)))
|
|
.thenReturn(user);
|
|
|
|
final User result = new UserService(repository).getPlayer(UserId.of("12345"));
|
|
|
|
assertNotNull(result);
|
|
}
|
|
|
|
@Test
|
|
void given_storedUser_when_getSmallPlayer_should_returnSmallPlayer()
|
|
{
|
|
final User user =
|
|
new User(UserId.of("12345"), "testName");
|
|
final UserRepository repository = mock(UserRepository.class);
|
|
when(repository.findUserById(any(UserId.class)))
|
|
.thenReturn(user);
|
|
|
|
final UserRequest result = new UserService(repository).getSmallPlayer(UserId.of("12345"));
|
|
|
|
assertNotNull(result);
|
|
assertEquals("12345", result.getId(), "Wrong UserId");
|
|
assertEquals("testName", result.getName(), "Wrong Name");
|
|
|
|
}
|
|
|
|
@Override
|
|
public void update(Observable o, Object arg)
|
|
{
|
|
event = arg;
|
|
}
|
|
}
|