diff --git a/remote-api/src/main/java/org/alfresco/rest/api/impl/TagsImpl.java b/remote-api/src/main/java/org/alfresco/rest/api/impl/TagsImpl.java index 266993d93e..04366331ab 100644 --- a/remote-api/src/main/java/org/alfresco/rest/api/impl/TagsImpl.java +++ b/remote-api/src/main/java/org/alfresco/rest/api/impl/TagsImpl.java @@ -179,7 +179,7 @@ public class TagsImpl implements Tags for (Pair pair : page) { Tag selectedTag = new Tag(pair.getFirst(), pair.getSecond()); - selectedTag.setCount(tagsByCountMap.get(selectedTag.getTag())); + selectedTag.setCount(Optional.ofNullable(tagsByCountMap.get(selectedTag.getTag())).orElse(0)); tags.add(selectedTag); } diff --git a/remote-api/src/test/java/org/alfresco/rest/api/impl/TagsImplTest.java b/remote-api/src/test/java/org/alfresco/rest/api/impl/TagsImplTest.java index 6593d0366c..da9cc933a3 100644 --- a/remote-api/src/test/java/org/alfresco/rest/api/impl/TagsImplTest.java +++ b/remote-api/src/test/java/org/alfresco/rest/api/impl/TagsImplTest.java @@ -29,6 +29,7 @@ import static org.alfresco.rest.api.impl.TagsImpl.NOT_A_VALID_TAG; import static org.alfresco.rest.api.impl.TagsImpl.NO_PERMISSION_TO_MANAGE_A_TAG; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.catchThrowable; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThrows; import static org.mockito.ArgumentMatchers.any; import static org.mockito.BDDMockito.given; @@ -83,6 +84,18 @@ public class TagsImplTest given(nodesMock.validateNode(StoreRef.STORE_REF_WORKSPACE_SPACESSTORE, TAG_ID)).willReturn(TAG_NODE_REF); given(taggingServiceMock.getTagName(TAG_NODE_REF)).willReturn(TAG_NAME); } + @Test + public void testGetTags() { + final List tagNames = List.of("testTag","tag11"); + final List tagsToCreate = createTags(tagNames); + given(taggingServiceMock.createTags(any(), any())).willAnswer(invocation -> createTagAndNodeRefPairs(invocation.getArgument(1))); + given(parametersMock.getInclude()).willReturn(List.of("count")); + final List actualCreatedTags = objectUnderTest.createTags(tagsToCreate, parametersMock); + final List expectedTags = createTagsWithNodeRefs(tagNames).stream() + .peek(tag -> tag.setCount(0)) + .collect(Collectors.toList()); + assertEquals(expectedTags, actualCreatedTags); + } @Test public void testDeleteTagById()