diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionGroupRestControllerIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionGroupRestControllerIT.java index 767ea5f565..f6ab10c087 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionGroupRestControllerIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/CollectionGroupRestControllerIT.java @@ -28,6 +28,7 @@ import org.dspace.app.rest.test.AbstractControllerIntegrationTest; import org.dspace.authorize.service.AuthorizeService; import org.dspace.builder.CollectionBuilder; import org.dspace.builder.CommunityBuilder; +import org.dspace.builder.WorkspaceItemBuilder; import org.dspace.content.Collection; import org.dspace.content.service.CollectionService; import org.dspace.core.Constants; @@ -2414,4 +2415,27 @@ public class CollectionGroupRestControllerIT extends AbstractControllerIntegrati .andExpect(status().isNotFound()); } + @Test + public void deleteCollectionWorkflowGroupWithPooledTaskTest() throws Exception { + context.turnOffAuthorisationSystem(); + Group reviewer = workflowService.createWorkflowRoleGroup(context, collection, "reviewer"); + + // Submit an Item into the workflow -> moves to the "reviewer" step's pool. + // The role must have at least one EPerson, otherwise the WSI gets archived immediately + groupService.addMember(context, reviewer, eperson); + workflowService.start( + context, + WorkspaceItemBuilder.createWorkspaceItem(context, collection) + .withTitle("Dummy Item") + .build() + ); + + context.restoreAuthSystemState(); + + String token = getAuthToken(admin.getEmail(), password); + + getClient(token).perform(delete("/api/core/collections/" + collection.getID() + "/workflowGroups/reviewer")) + .andExpect(status().isUnprocessableEntity()); + } + }