From 01aaf952ea3bd9737fa5fa943bec54cda4ce12c5 Mon Sep 17 00:00:00 2001 From: Silviu Dinuta Date: Mon, 31 Oct 2016 14:41:05 +0200 Subject: [PATCH] RM-4012: finalised FileplanComponentsEntityResource unit tests --- ...eplanComponentsEntityResourceUnitTest.java | 48 ++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/nodes/FileplanComponentsEntityResourceUnitTest.java b/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/nodes/FileplanComponentsEntityResourceUnitTest.java index f17e88eda8..ee88ff470e 100644 --- a/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/nodes/FileplanComponentsEntityResourceUnitTest.java +++ b/rm-community/rm-community-repo/unit-test/java/org/alfresco/rm/rest/api/nodes/FileplanComponentsEntityResourceUnitTest.java @@ -27,8 +27,21 @@ package org.alfresco.rm.rest.api.nodes; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +import org.alfresco.module.org_alfresco_module_rm.test.util.AlfMock; import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest; +import org.alfresco.rest.api.model.Node; +import org.alfresco.rest.framework.core.exceptions.InvalidArgumentException; +import org.alfresco.rest.framework.resource.parameters.Parameters; import org.alfresco.rm.rest.api.impl.RMNodesImpl; +import org.alfresco.service.cmr.repository.NodeRef; import org.junit.Before; import org.junit.Test; import org.mockito.InjectMocks; @@ -44,6 +57,8 @@ import org.mockito.MockitoAnnotations; */ public class FileplanComponentsEntityResourceUnitTest extends BaseUnitTest { + private static final String PERMANENT_PARAMETER = "permanent"; + @Mock private RMNodesImpl mockedRMNodes; @@ -59,18 +74,47 @@ public class FileplanComponentsEntityResourceUnitTest extends BaseUnitTest @Test public void testReadById() throws Exception { - + NodeRef parentNodeRef = AlfMock.generateNodeRef(mockedNodeService); + Parameters mockedParameters = mock(Parameters.class); + filePlanComponentsEntityResource.readById(parentNodeRef.getId(), mockedParameters); + verify(mockedRMNodes, times(1)).getFolderOrDocument(parentNodeRef.getId(), mockedParameters); } @Test public void testUpdate() throws Exception { - + NodeRef parentNodeRef = AlfMock.generateNodeRef(mockedNodeService); + Parameters mockedParameters = mock(Parameters.class); + Node mockedNodeInfo = mock(Node.class); + filePlanComponentsEntityResource.update(parentNodeRef.getId(), mockedNodeInfo, mockedParameters); + verify(mockedRMNodes, times(1)).updateNode(parentNodeRef.getId(), mockedNodeInfo, mockedParameters); } @Test public void testDelete() throws Exception { + NodeRef parentNodeRef = AlfMock.generateNodeRef(mockedNodeService); + Parameters mockedParameters = mock(Parameters.class); + when(mockedParameters.getParameter(PERMANENT_PARAMETER)).thenReturn(null); + filePlanComponentsEntityResource.delete(parentNodeRef.getId(), mockedParameters); + verify(mockedRMNodes, times(1)).deleteNode(parentNodeRef.getId(), mockedParameters); + } + @Test + public void testDeleteWithPermanentParameter() throws Exception + { + NodeRef parentNodeRef = AlfMock.generateNodeRef(mockedNodeService); + Parameters mockedParameters = mock(Parameters.class); + when(mockedParameters.getParameter(PERMANENT_PARAMETER)).thenReturn(Boolean.toString(true)); + try + { + filePlanComponentsEntityResource.delete(parentNodeRef.getId(), mockedParameters); + fail("Expected ecxeption as DELETE does not support parameter: permanent."); + } + catch(InvalidArgumentException ex) + { + assertEquals("DELETE does not support parameter: permanent", ex.getMsgId()); + } + verify(mockedRMNodes, never()).deleteNode(parentNodeRef.getId(), mockedParameters); } }