Skip to content
Snippets Groups Projects
Commit 9d7f430b authored by OZGCloud's avatar OZGCloud
Browse files

OZG-4713 OZG-4926 Set authorFullName

parent 682bd442
Branches
Tags
No related merge requests found
......@@ -70,22 +70,12 @@ abstract class ChangeHistoryBuilder<T extends ChangeHistoryBuilder<T>> {
return VorgangChange.builder()
.valueBeforeChange(commandChangeValues.valueBeforeChange())
.valueAfterChange(commandChangeValues.valueAfterChange())
.authorFullName(getUserText(commandChangeValues.command().getCreatedByName()))
.authorFullName(commandChangeValues.command().getCreatedByName())
.finishedAt(commandChangeValues.command().getFinishedAt())
.order(commandChangeValues.command().getOrder())
.build();
}
String getUserText(String username) {
if (StringUtils.isBlank(username)) {
return StringUtils.EMPTY;
}
if (StringUtils.isBlank(organisationseinheitenID)) {
return username;
}
return String.format("%s; %s", username, organisationseinheitenID);
}
String getValueFromCommandBody(String propertyName, Command command) {
var body = Optional.ofNullable(command.getBody()).orElse(Map.of());
var propertyValue = body.get(propertyName);
......
......@@ -18,7 +18,6 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.NullAndEmptySource;
import org.mockito.Mockito;
import org.mockito.Spy;
import org.springframework.test.util.ReflectionTestUtils;
import org.testcontainers.shaded.org.apache.commons.lang3.NotImplementedException;
import com.thedeanda.lorem.LoremIpsum;
......@@ -39,11 +38,12 @@ public class ChangeHistoryBuilderTest {
private final CommandWithPrevious commandWithPrevious = CommandWithPreviousTestFactory.createBuilder().command(command).previous(previousCommand).build();
private final List<CommandWithPrevious> commandsWithPrevious = List.of(commandWithoutPrevious, commandWithPrevious);
private final ChangeHistoryBuilder.CommandWithChangeValues command0105WithChangeValues = new ChangeHistoryBuilder.CommandWithChangeValues(
private final ChangeHistoryBuilder.CommandWithChangeValues previousCommandWithChangeValues = new ChangeHistoryBuilder.CommandWithChangeValues(
previousCommand, "a", "b");
private final ChangeHistoryBuilder.CommandWithChangeValues command0106WithChangeValues = new ChangeHistoryBuilder.CommandWithChangeValues(
previousCommand, "b", "c");
private final List<ChangeHistoryBuilder.CommandWithChangeValues> commandsWithChangeValues = List.of(command0105WithChangeValues, command0106WithChangeValues);
private final ChangeHistoryBuilder.CommandWithChangeValues commandWithChangeValues = new ChangeHistoryBuilder.CommandWithChangeValues(
command, "b", "c");
private final List<ChangeHistoryBuilder.CommandWithChangeValues> commandsWithChangeValues = List.of(previousCommandWithChangeValues,
commandWithChangeValues);
@Spy
private TestChangeHistoryBuilder builder = new TestChangeHistoryBuilder()
......@@ -108,8 +108,8 @@ public class ChangeHistoryBuilderTest {
@BeforeEach
void init() {
doReturn(command0105WithChangeValues).when(builder).toCommandWithChangeValues(commandWithoutPrevious);
doReturn(command0106WithChangeValues).when(builder).toCommandWithChangeValues(commandWithPrevious);
doReturn(previousCommandWithChangeValues).when(builder).toCommandWithChangeValues(commandWithoutPrevious);
doReturn(commandWithChangeValues).when(builder).toCommandWithChangeValues(commandWithPrevious);
}
@Test
......@@ -124,7 +124,7 @@ public class ChangeHistoryBuilderTest {
void shouldReturnMappedCommandWithChangeValues() {
var historieEntries = callBuilder().toList();
assertThat(historieEntries).containsExactly(command0105WithChangeValues, command0106WithChangeValues);
assertThat(historieEntries).containsExactly(previousCommandWithChangeValues, commandWithChangeValues);
}
private Stream<ChangeHistoryBuilder.CommandWithChangeValues> callBuilder() {
......@@ -135,86 +135,43 @@ public class ChangeHistoryBuilderTest {
@Nested
class TestToVorgangChange {
private static final String USER_TEXT = LoremIpsum.getInstance().getWords(3);
@BeforeEach
void init() {
when(builder.getUserText(UserProfileTestFactory.FULLNAME)).thenReturn(USER_TEXT);
}
@Test
void shouldSeValueBeforeChange() {
var historieEntry = callBuilder();
var vorgangChange = callBuilder();
assertThat(historieEntry.getValueBeforeChange()).isNotBlank().isEqualTo(command0105WithChangeValues.valueBeforeChange());
assertThat(vorgangChange.getValueBeforeChange()).isNotBlank().isEqualTo(previousCommandWithChangeValues.valueBeforeChange());
}
@Test
void shouldSeValueAfterChange() {
var historieEntry = callBuilder();
assertThat(historieEntry.getValueAfterChange()).isNotBlank().isEqualTo(command0105WithChangeValues.valueAfterChange());
}
var vorgangChange = callBuilder();
@Test
void shouldGetUserText() {
callBuilder();
verify(builder).getUserText(UserProfileTestFactory.FULLNAME);
assertThat(vorgangChange.getValueAfterChange()).isNotBlank().isEqualTo(previousCommandWithChangeValues.valueAfterChange());
}
@Test
void shouldSetCreatedByName() {
var historieEntry = callBuilder();
void shouldSetAuthorFullName() {
var vorgangChange = callBuilder();
assertThat(historieEntry.getAuthorFullName()).isEqualTo(USER_TEXT);
assertThat(vorgangChange.getAuthorFullName()).isEqualTo(UserProfileTestFactory.FULLNAME);
}
@Test
void shouldSetFinishedAt() {
var historieEntry = callBuilder();
var vorgangChange = callBuilder();
assertThat(historieEntry.getFinishedAt()).isNotNull().isEqualTo(previousCommand.getFinishedAt());
assertThat(vorgangChange.getFinishedAt()).isNotNull().isEqualTo(previousCommand.getFinishedAt());
}
@Test
void shouldSetOrder() {
var historieEntry = callBuilder();
var vorgangChange = callBuilder();
assertThat(historieEntry.getOrder()).isNotNull().isEqualTo(previousCommand.getOrder());
assertThat(vorgangChange.getOrder()).isNotNull().isEqualTo(previousCommand.getOrder());
}
private VorgangChange callBuilder() {
return builder.toVorgangChange(command0105WithChangeValues);
}
}
@Nested
class TestGetUserText {
@ParameterizedTest
@NullAndEmptySource
void shouldReturnEmptyStringIfUsernameIsNullOrEmpty(String username) {
var userText = builder.getUserText(username);
assertThat(userText).isEmpty();
}
@ParameterizedTest
@NullAndEmptySource
void shouldReturnUsernameIfOrganisationseinheitenIDIsNullOrEmpty(String organisationseinheitenID) {
ReflectionTestUtils.setField(builder, "organisationseinheitenID", organisationseinheitenID);
var userText = builder.getUserText(UserProfileTestFactory.FULLNAME);
assertThat(userText).isEqualTo(UserProfileTestFactory.FULLNAME);
}
@Test
void shouldCombineUsernameAndOrganisationseinheitenID() {
var userText = builder.getUserText(UserProfileTestFactory.FULLNAME);
assertThat(userText).isEqualTo(UserProfileTestFactory.FULLNAME + "; " + ORGANISATIONSEINHEITEN_ID);
return builder.toVorgangChange(previousCommandWithChangeValues);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment