RM-6865 Rest API v0 test

This commit is contained in:
Sara Aspery
2019-06-05 15:27:05 +01:00
parent 03ccdc3c34
commit b46d3b4cc0

View File

@@ -87,13 +87,15 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest
private final static String DESTINATION_PATH_NOT_RECORD_FOLDER_EXC = "Unable to execute create-record action, because the destination path is not a record folder."; private final static String DESTINATION_PATH_NOT_RECORD_FOLDER_EXC = "Unable to execute create-record action, because the destination path is not a record folder.";
private final static String CLOSED_RECORD_FOLDER_EXC = "You can't add new items to a closed record folder."; private final static String CLOSED_RECORD_FOLDER_EXC = "You can't add new items to a closed record folder.";
private final static String HOLD_NAME = "holdName"; private final static String HOLD_NAME = "holdName";
private final static String RECORD_FOLDER_NAME_ENCODED = "Folder%20With%20Spaces%20In%20Name";
private final static String RECORD_FOLDER_NAME_DECODED = "Folder With Spaces In Name";
private UserModel userFillingPermission, userReadOnlyPermission; private UserModel userFillingPermission, userReadOnlyPermission;
private SiteModel publicSite; private SiteModel publicSite;
private FolderModel testFolder; private FolderModel testFolder;
private FileModel testFile; private FileModel testFile;
private RecordCategory recordCategory; private RecordCategory recordCategory;
private RecordCategoryChild recordFolder, subcategoryRecordFolder, subCategory, closedRecordFolder; private RecordCategoryChild recordFolder, subcategoryRecordFolder, subCategory, closedRecordFolder, recordFolderWithSpacesInName;
private UnfiledContainerChild unfiledContainerFolder; private UnfiledContainerChild unfiledContainerFolder;
@Autowired @Autowired
@@ -165,6 +167,7 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest
"Unfiled Folder " + getRandomAlphanumeric(), UNFILED_RECORD_FOLDER_TYPE); "Unfiled Folder " + getRandomAlphanumeric(), UNFILED_RECORD_FOLDER_TYPE);
closedRecordFolder = createFolder(recordCategory.getId(), getRandomName("closedRecordFolder")); closedRecordFolder = createFolder(recordCategory.getId(), getRandomName("closedRecordFolder"));
closeFolder(closedRecordFolder.getId()); closeFolder(closedRecordFolder.getId());
recordFolderWithSpacesInName = createFolder(recordCategory.getId(), RECORD_FOLDER_NAME_DECODED);
STEP("Create rm users with different permissions on the record category"); STEP("Create rm users with different permissions on the record category");
userFillingPermission = roleService.createCollaboratorWithRMRoleAndPermission(publicSite, recordCategory, ROLE_RM_POWER_USER, PERMISSION_FILING); userFillingPermission = roleService.createCollaboratorWithRMRoleAndPermission(publicSite, recordCategory, ROLE_RM_POWER_USER, PERMISSION_FILING);
@@ -222,6 +225,27 @@ public class DeclareAndFileDocumentAsRecordTests extends BaseRMRestTest
assertTrue(hasRecordAspect(testFile), "File should have record aspect"); assertTrue(hasRecordAspect(testFile), "File should have record aspect");
} }
/**
* Given I am calling the "declare as record" action
* And I provide a valid encoded record folder name in the location parameter
* When I execute the action
* Then the document is declared as a record
* And is filed to the record folder specified
*/
@Test
public void declareAndFileToValidEncodedLocationUsingActionsAPI() throws Exception
{
STEP("Declare document as record with an encoded location parameter value");
getRestAPIFactory().getActionsAPI(userFillingPermission).declareAndFile(testFile,
Utility.buildPath(recordCategory.getName(), RECORD_FOLDER_NAME_ENCODED));
STEP("Verify the declared record is placed in the record folder");
assertTrue(isMatchingRecordInRecordFolder(testFile, recordFolderWithSpacesInName), "Record should be filed to record folder");
STEP("Verify the document in collaboration site is now a record");
assertTrue(hasRecordAspect(testFile), "File should have record aspect");
}
/** /**
* Given I am calling the "declare as record" action * Given I am calling the "declare as record" action
* And I provide an invalid record folder in the location parameter * And I provide an invalid record folder in the location parameter