JAVA-20278. Please point me to the tutorial code #13768. (#13923)

Co-authored-by: jogra <joseph.sterling.grah@miles.no>
This commit is contained in:
jsgrah-spring 2023-04-28 19:21:44 +02:00 committed by GitHub
parent b2f2af9407
commit 3510d4eaa3
1 changed files with 21 additions and 0 deletions

View File

@ -1,15 +1,36 @@
package com.baeldung.pattern.cleanarchitecture.usercreation;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.*;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.any;
import org.junit.jupiter.api.Test;
class UserUnitTest {
UserRegisterDsGateway userDsGateway = mock(UserRegisterDsGateway.class);
UserPresenter userPresenter = mock(UserPresenter.class);
UserFactory userFactory = mock(UserFactory.class);
UserInputBoundary interactor = new UserRegisterInteractor(userDsGateway, userPresenter, userFactory);
@Test
void given123Password_whenPasswordIsNotValid_thenIsFalse() {
User user = new CommonUser("Baeldung", "123");
assertThat(user.passwordIsValid()).isFalse();
}
@Test
void givenBaeldungUserAnd123456Password_whenCreate_thenSaveItAndPrepareSuccessView() {
User user = new CommonUser("baeldung", "123456");
UserRequestModel userRequestModel = new UserRequestModel(user.getName(), user.getPassword());
when(userFactory.create(anyString(), anyString())).thenReturn(new CommonUser(user.getName(), user.getPassword()));
interactor.create(userRequestModel);
verify(userDsGateway, times(1)).save(any(UserDsRequestModel.class));
verify(userPresenter, times(1)).prepareSuccessView(any(UserResponseModel.class));
}
}