From bb5e4d42ac851a93e343062e3dcc8ddf98b480a5 Mon Sep 17 00:00:00 2001 From: "suneet.gupta" Date: Mon, 27 Feb 2023 20:00:29 +0530 Subject: [PATCH] Addressed review comments --- .../org/alfresco/rest/api/impl/TagsImpl.java | 3 ++- .../alfresco/rest/api/impl/TagsImplTest.java | 26 ++++++++++++------- 2 files changed, 18 insertions(+), 11 deletions(-) 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 798bb5548a..b6507772da 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 @@ -130,7 +130,8 @@ public class TagsImpl implements Tags for(Pair pair : tagNodeRefs) { Tag createdTag=new Tag(pair.getSecond(), pair.getFirst()); - createdTag.setCount(Optional.ofNullable(tagsCountMap.get(createdTag.getTag())).map(cnt->cnt+1).orElse(1)); + // The new use of the tag will not be indexed yet, so add one to whatever count we get back + createdTag.setCount(Optional.ofNullable(tagsCountMap.get(createdTag.getTag())).orElse(0) + 1); ret.add(createdTag); } return ret; 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 9577316b16..aca2f42e00 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 @@ -35,7 +35,6 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.BDDMockito.given; import static org.mockito.BDDMockito.then; -import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -95,14 +94,6 @@ public class TagsImplTest given(createdNodeMock.getNodeId()).willReturn(NODE_ID); given(typeConstraint.matches(any())).willReturn(true); given(taggingServiceMock.getTagName(TAG_NODE_REF)).willReturn(TAG_NAME); - given(taggingServiceMock.findTaggedNodesAndCountByTagName(any())).willReturn(createTagsCountPairList()); - } - - public List> createTagsCountPairList() - { - List> tagsCountPairList = new ArrayList<>(); - tagsCountPairList.add(new Pair<>("tag-node-id",1)); - return tagsCountPairList; } @Test @@ -327,7 +318,7 @@ public class TagsImplTest @Test public void testAddTagsToNode() { - final List tagNames = List.of("tag1"); + final List tagNames = List.of("tag1","tag2"); final List tagsToCreate = createTags(tagNames); given(taggingServiceMock.addTags(any(), any())).willAnswer(invocation -> createTagAndNodeRefPairs(invocation.getArgument(1))); final List actualCreatedTags = objectUnderTest.addTags(nodesMock.getNode(any()).getNodeId(),tagsToCreate); @@ -338,4 +329,19 @@ public class TagsImplTest .isEqualTo(expectedTags); } + @Test + public void testAddTagsToNodeWithResponseNotIndexed() + { + final List tagNames = List.of("tag1","tag2"); + final List tagsToCreate = createTags(tagNames); + given(taggingServiceMock.addTags(any(), any())).willAnswer(invocation -> createTagAndNodeRefPairs(invocation.getArgument(1))); + given(taggingServiceMock.findTaggedNodesAndCountByTagName(any())).willReturn(Collections.emptyList()); + final List actualCreatedTags = objectUnderTest.addTags(nodesMock.getNode(any()).getNodeId(),tagsToCreate); + then(taggingServiceMock).should().addTags(TAG_NODE_REF, tagNames); + final List expectedTags = createTagsWithNodeRefs(tagNames); + assertThat(actualCreatedTags) + .isNotNull() + .isEqualTo(expectedTags); + } + }