diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangModelAssembler.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangModelAssembler.java index c146b7c821e9b21360f717e5907bb04ea5e04ef7..08999eaf33e19a54b196ea1a7ffd24adc5b86871 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangModelAssembler.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/VorgangModelAssembler.java @@ -17,6 +17,7 @@ import de.itvsh.goofy.common.command.CommandController; import de.itvsh.goofy.common.user.CurrentUserService; import de.itvsh.goofy.common.user.UserRole; import de.itvsh.goofy.kommentar.KommentarController.KommentarByVorgangController; +import de.itvsh.goofy.wiedervorlage.WiedervorlageCommandController.WiedervorlageCommandByVorgangController; import de.itvsh.goofy.wiedervorlage.WiedervorlageController; @Component @@ -29,6 +30,7 @@ class VorgangModelAssembler implements RepresentationModelAssembler<Vorgang, Ent public static final String REL_PREVIOUS = "previous"; public static final String REL_VORGANG_MIT_EINGANG = "vorgang-mit-eingang"; public static final String REL_WIEDERVORLAGEN = "wiedervorlagen"; + public static final String REL_CREATE_WIEDERVORLAGE = "create-wiedervorlage"; public static final String REL_KOMMENTARS = "kommentare"; public static final String REL_PENDING_COMMANDS = "pending-commands"; public static final String REL_VORGANG_ASSIGN = "assign"; @@ -50,6 +52,8 @@ class VorgangModelAssembler implements RepresentationModelAssembler<Vorgang, Ent } else { return builder .addLink(linkTo(methodOn(WiedervorlageController.class).findByVorgang(vorgang.getId())).withRel(REL_WIEDERVORLAGEN))// + .addLink(linkTo(methodOn(WiedervorlageCommandByVorgangController.class).createCommand(null, vorgang.getId())) + .withRel(REL_CREATE_WIEDERVORLAGE)) .addLink(linkTo(methodOn(KommentarByVorgangController.class).getAll(vorgang.getId())).withRel(REL_KOMMENTARS))// .addLink(selfLink.withRel(REL_VORGANG_ASSIGN)) .buildModel(); diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangModelAssemblerTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangModelAssemblerTest.java index 976bb58311dea2c0999f987def3b91aee41c598d..b15b18cd51bea7283059a3a5ef99807325fc397d 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangModelAssemblerTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/VorgangModelAssemblerTest.java @@ -99,6 +99,14 @@ class VorgangModelAssemblerTest { assertThat(model).isNotPresent(); } + @Test + void shouldNotHaveCreateWiedervorlageLink() { + Optional<Link> model = modelAssembler.toModel(VorgangHeaderTestFactory.create()) + .getLink(VorgangModelAssembler.REL_CREATE_WIEDERVORLAGE); + + assertThat(model).isNotPresent(); + } + @Test void shouldNotHaveBearbeiterLink() { Optional<Link> model = modelAssembler.toModel(VorgangHeaderTestFactory.create()).getLink(VorgangModelAssembler.REL_VORGANG_ASSIGN); @@ -134,6 +142,14 @@ class VorgangModelAssemblerTest { assertThat(link.get().getHref()).isEqualTo("/api/wiedervorlages?vorgangId=" + VorgangHeaderTestFactory.ID); } + @Test + void shouldHaveCreateWiedervorlageLink() { + var link = modelAssembler.toModel(VorgangHeaderTestFactory.create()).getLink(VorgangModelAssembler.REL_CREATE_WIEDERVORLAGE); + + assertThat(link).isPresent().get().extracting(Link::getHref) + .isEqualTo("/api/vorgangs/" + VorgangHeaderTestFactory.ID + "/wiedervorlageCommands"); + } + @Test void shouldHaveBearbeiterLink() { var link = modelAssembler.toModel(VorgangHeaderTestFactory.create()).getLink(VorgangModelAssembler.REL_VORGANG_ASSIGN);