/**
* 輸入正確性名,變更次數小於等於3,取得變更成功事件
*/
@Test
void testCurrentNameAndCountLess3ReturnNamedEvent() {
// GIVE
SubmitNameUseCommand submitNameUseCommand = new SubmitNameUseCommand();
submitNameUseCommand.setId(A123456789);
submitNameUseCommand.setNewNmae(NEW_NAME);
// WHEN
UserAggregate userAggregate = new UserAggregate();
userAggregate.setId(A123456789);
userAggregate.setName(A123456789);
userAggregate.setName(OLD_NAME);
userAggregate.setChangeNameCount(0);
Mockito.when(userAggregateRepository.findById(A123456789)).thenReturn(userAggregate);
// THEN
SubmitNameUseCase submitNameUseCase = new SubmitNameUseCase(userAggregateRepository);
Event event = submitNameUseCase.submit(submitNameUseCommand);
assertThat(event).isExactlyInstanceOf(NamedEvent.class);
NamedEvent namedEvent = (NamedEvent) event;
assertThat(namedEvent.getId()).isEqualTo(A123456789);
assertThat(namedEvent.getNewName()).isEqualTo(NEW_NAME);
assertThat(namedEvent.getOldName()).isEqualTo(OLD_NAME);
assertThat(namedEvent.getChangeNameCount()).isEqualTo(1);
}