diff --git a/goofy-server/src/main/java/de/itvsh/goofy/historie/HistorieModelAssembler.java b/goofy-server/src/main/java/de/itvsh/goofy/historie/HistorieModelAssembler.java index f5636484ffbf7c553ad7d54b26629066133e1310..15719a6c8a6f97382dafa786832fc7d1de8c2384 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/historie/HistorieModelAssembler.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/historie/HistorieModelAssembler.java @@ -35,7 +35,7 @@ class HistorieModelAssembler implements RepresentationModelAssembler<Command, En } Command unsetSystemUser(Command entity) { - if (Objects.nonNull(entity.getCreatedBy()) && entity.getCreatedBy().toString().startsWith(SYSTEM_NOTIFICATION_MANAGER_PREFIX)) { + if (isSystemNotificationUser(entity)) { return entity.toBuilder().createdBy(null).build(); } @@ -43,6 +43,10 @@ class HistorieModelAssembler implements RepresentationModelAssembler<Command, En } + private boolean isSystemNotificationUser(Command entity) { + return Objects.nonNull(entity.getCreatedBy()) && entity.getCreatedBy().toString().startsWith(SYSTEM_NOTIFICATION_MANAGER_PREFIX); + } + private void addAssignedTo(Command entity, ModelBuilder<Command> modelBuilder) { Optional.ofNullable(entity.getBody()).map(body -> body.get(ASSIGNED_TO_BODY_FIELD)) .ifPresent(assignedTo -> modelBuilder.addLink(linkTo(UserProfileController.class).slash(assignedTo).withRel(REL_ASSIGNED_TO))); diff --git a/goofy-server/src/test/java/de/itvsh/goofy/historie/HistorieModelAssemblerTest.java b/goofy-server/src/test/java/de/itvsh/goofy/historie/HistorieModelAssemblerTest.java index 49e336a51a35340a38cde013183d76c4f51a665a..824d8d08f59e6439463026eb40f24f0430e58aaf 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/historie/HistorieModelAssemblerTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/historie/HistorieModelAssemblerTest.java @@ -17,6 +17,10 @@ import de.itvsh.goofy.common.user.UserProfileTestFactory; class HistorieModelAssemblerTest { + private static final String USER_PROFILES_API_PATH = "/api/userProfiles/"; + + private static final String CREATED_BY = "createdBy"; + @InjectMocks private HistorieModelAssembler modelAssembler; @@ -29,14 +33,6 @@ class HistorieModelAssemblerTest { assertThat(model.getLink(IanaLinkRelations.SELF)).isPresent().get().extracting(Link::getHref).isEqualTo(COMMAND_SINGLE_PATH); } - @Test - void shouldHaveCreatedByLink() { - var model = modelAssembler.toModel(CommandTestFactory.create()); - - assertThat(model.getLink("createdBy")).isPresent().get().extracting(Link::getHref) - .isEqualTo("/api/userProfiles/" + UserProfileTestFactory.ID); - } - @DisplayName("AssignedTo Link") @Nested class TestAssignedToLink { @@ -47,7 +43,7 @@ class HistorieModelAssemblerTest { .body(Map.of(HistorieModelAssembler.ASSIGNED_TO_BODY_FIELD, UserProfileTestFactory.ID)).build()); assertThat(model.getLink(HistorieModelAssembler.REL_ASSIGNED_TO)).isPresent().get().extracting(Link::getHref) - .isEqualTo("/api/userProfiles/" + UserProfileTestFactory.ID); + .isEqualTo(USER_PROFILES_API_PATH + UserProfileTestFactory.ID); } @Test @@ -61,12 +57,13 @@ class HistorieModelAssemblerTest { @DisplayName("createdBy Link") @Nested class TestCreatedByLink { + @Test void shouldExistingAtUser() { var model = modelAssembler.toModel(CommandTestFactory.create()); - assertThat(model.getLink("createdBy")).isPresent().get().extracting(Link::getHref) - .isEqualTo("/api/userProfiles/" + UserProfileTestFactory.ID); + assertThat(model.getLink(CREATED_BY)).isPresent().get().extracting(Link::getHref) + .isEqualTo(USER_PROFILES_API_PATH + UserProfileTestFactory.ID); } @Test @@ -75,14 +72,14 @@ class HistorieModelAssemblerTest { .toModel(CommandTestFactory.createBuilder().createdBy(UserId.from(HistorieModelAssembler.SYSTEM_NOTIFICATION_MANAGER_PREFIX)) .build()); - assertThat(model.getLink("createdBy")).isNotPresent(); + assertThat(model.getLink(CREATED_BY)).isNotPresent(); } @Test void shouldNotBePresentOnNullValue() { var model = modelAssembler.toModel(CommandTestFactory.createBuilder().createdBy(null).build()); - assertThat(model.getLink("createdBy")).isNotPresent(); + assertThat(model.getLink(CREATED_BY)).isNotPresent(); } } } \ No newline at end of file