mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-08 14:51:49 +00:00
RM-6851 Fix declare record into hold - add unit test
This commit is contained in:
@@ -76,6 +76,7 @@ public class RecordServiceImplUnitTest extends BaseUnitTest
|
|||||||
private NodeRef nonStandardFilePlan;
|
private NodeRef nonStandardFilePlan;
|
||||||
private NodeRef dmNodeRef;
|
private NodeRef dmNodeRef;
|
||||||
private NodeRef unfiledRecordContainer;
|
private NodeRef unfiledRecordContainer;
|
||||||
|
private NodeRef frozenRecordFolder;
|
||||||
private ChildAssociationRef parentAssoc;
|
private ChildAssociationRef parentAssoc;
|
||||||
|
|
||||||
private static QName TYPE_MY_FILE_PLAN = generateQName();
|
private static QName TYPE_MY_FILE_PLAN = generateQName();
|
||||||
@@ -94,6 +95,7 @@ public class RecordServiceImplUnitTest extends BaseUnitTest
|
|||||||
nonStandardFilePlan = generateNodeRef(TYPE_MY_FILE_PLAN);
|
nonStandardFilePlan = generateNodeRef(TYPE_MY_FILE_PLAN);
|
||||||
dmNodeRef = generateNodeRef(TYPE_CONTENT);
|
dmNodeRef = generateNodeRef(TYPE_CONTENT);
|
||||||
unfiledRecordContainer = generateNodeRef(TYPE_UNFILED_RECORD_CONTAINER);
|
unfiledRecordContainer = generateNodeRef(TYPE_UNFILED_RECORD_CONTAINER);
|
||||||
|
frozenRecordFolder = generateNodeRef(TYPE_RECORD_FOLDER);
|
||||||
parentAssoc = mock(ChildAssociationRef.class);
|
parentAssoc = mock(ChildAssociationRef.class);
|
||||||
|
|
||||||
// set-up node service
|
// set-up node service
|
||||||
@@ -583,6 +585,20 @@ public class RecordServiceImplUnitTest extends BaseUnitTest
|
|||||||
recordService.createRecord(filePlan, dmNodeRef, recordFolder);
|
recordService.createRecord(filePlan, dmNodeRef, recordFolder);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Given a file that is not yet a record
|
||||||
|
* When I create the record specifying a folder which is in a hold
|
||||||
|
* Then an exception is thrown
|
||||||
|
*/
|
||||||
|
@Test(expected=AccessDeniedException.class)
|
||||||
|
public void createRecordIntoRecordFolderInHold()
|
||||||
|
{
|
||||||
|
mocksForRecordCreation();
|
||||||
|
|
||||||
|
// create the record
|
||||||
|
recordService.createRecord(filePlan, dmNodeRef, frozenRecordFolder);
|
||||||
|
}
|
||||||
|
|
||||||
/* Helper method to set up the mocks for record creation */
|
/* Helper method to set up the mocks for record creation */
|
||||||
private void mocksForRecordCreation()
|
private void mocksForRecordCreation()
|
||||||
{
|
{
|
||||||
@@ -590,10 +606,12 @@ public class RecordServiceImplUnitTest extends BaseUnitTest
|
|||||||
.thenReturn(parentAssoc);
|
.thenReturn(parentAssoc);
|
||||||
when(parentAssoc.getQName()).thenReturn(generateQName());
|
when(parentAssoc.getQName()).thenReturn(generateQName());
|
||||||
|
|
||||||
// mocks for sanity checks on node and fileplan
|
// mocks for sanity checks on node, folder and fileplan
|
||||||
when(mockedExtendedPermissionService.hasPermission(dmNodeRef, PermissionService.WRITE)).thenReturn(AccessStatus.ALLOWED);
|
when(mockedExtendedPermissionService.hasPermission(dmNodeRef, PermissionService.WRITE)).thenReturn(AccessStatus.ALLOWED);
|
||||||
when(mockedDictionaryService.isSubClass(mockedNodeService.getType(dmNodeRef), ContentModel.TYPE_CONTENT)).thenReturn(true);
|
when(mockedDictionaryService.isSubClass(mockedNodeService.getType(dmNodeRef), ContentModel.TYPE_CONTENT)).thenReturn(true);
|
||||||
when(mockedFilePlanService.isFilePlan(nonStandardFilePlan)).thenReturn(true);
|
when(mockedFilePlanService.isFilePlan(nonStandardFilePlan)).thenReturn(true);
|
||||||
|
when(mockedFreezeService.isFrozen(recordFolder)).thenReturn(false);
|
||||||
|
when(mockedFreezeService.isFrozen(frozenRecordFolder)).thenReturn(true);
|
||||||
|
|
||||||
// mocks for policies
|
// mocks for policies
|
||||||
doNothing().when(recordService).invokeBeforeRecordDeclaration(dmNodeRef);
|
doNothing().when(recordService).invokeBeforeRecordDeclaration(dmNodeRef);
|
||||||
|
Reference in New Issue
Block a user