mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
'Testing' Moved Upload Actions to shared testing package (#4616)
* 'Testing' Moved Upload Actions to shared testing package * Updated Upload Actionswith suggested changes * Failing tests updated * Resolving merge conflicts * updating latest merge conflicts * resolved merge conflicts * update to fix previous issues with this. * testing changes * fix for failed travis test * updates to fix failing travis test * fixes file path error * latest fix for failing travis test * latest fix for failing travis test * Fixing undefined rootPath * fixes timing issues in content-services travis test * resolves requested changes
This commit is contained in:
committed by
Eugenio Romano
parent
5f1caca5da
commit
725cf22956
@@ -16,3 +16,4 @@
|
||||
*/
|
||||
|
||||
export * from './example.action';
|
||||
export * from './upload.actions';
|
||||
|
@@ -0,0 +1,90 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { browser } from 'protractor';
|
||||
import * as path from 'path';
|
||||
import * as fs from 'fs';
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
|
||||
export class UploadActions {
|
||||
alfrescoJsApi: any = null;
|
||||
|
||||
constructor(alfrescoJsApi: AlfrescoApi) {
|
||||
this.alfrescoJsApi = alfrescoJsApi;
|
||||
}
|
||||
|
||||
async uploadFile(fileLocation, fileName, parentFolderId) {
|
||||
const pathFile = path.join(browser.params.rootPath + '/e2e' + fileLocation);
|
||||
const file = fs.createReadStream(pathFile);
|
||||
|
||||
return await this.alfrescoJsApi.upload.uploadFile(
|
||||
file,
|
||||
'',
|
||||
parentFolderId,
|
||||
null,
|
||||
{
|
||||
'name': fileName,
|
||||
'nodeType': 'cm:content',
|
||||
'renditions': 'doclib'
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
async createEmptyFiles(emptyFileNames: string[], parentFolderId) {
|
||||
const filesRequest = [];
|
||||
|
||||
for (let i = 0; i < emptyFileNames.length; i++) {
|
||||
const jsonItem = {};
|
||||
jsonItem['name'] = emptyFileNames[i];
|
||||
jsonItem['nodeType'] = 'cm:content';
|
||||
filesRequest.push(jsonItem);
|
||||
}
|
||||
|
||||
return this.alfrescoJsApi.nodes.addNode(parentFolderId, filesRequest, {}, {
|
||||
filedata: ''
|
||||
});
|
||||
}
|
||||
|
||||
async createFolder(folderName, parentFolderId) {
|
||||
return this.alfrescoJsApi.node.addNode(parentFolderId, {
|
||||
'name': folderName,
|
||||
'nodeType': 'cm:folder'
|
||||
}, {}, {});
|
||||
}
|
||||
|
||||
async deleteFileOrFolder(nodeId) {
|
||||
return this.alfrescoJsApi.node.deleteNode(nodeId, { permanent: true });
|
||||
}
|
||||
|
||||
async uploadFolder(sourcePath, folder) {
|
||||
const absolutePath = 'e2e/' + sourcePath;
|
||||
const files = fs.readdirSync(path.join(browser.params.rootPath, absolutePath));
|
||||
let uploadedFiles;
|
||||
const promises = [];
|
||||
|
||||
if (files && files.length > 0) {
|
||||
|
||||
for (const fileName of files) {
|
||||
const pathFile = path.join(sourcePath, fileName);
|
||||
promises.push(this.uploadFile(pathFile, fileName, folder));
|
||||
}
|
||||
uploadedFiles = await Promise.all(promises);
|
||||
}
|
||||
|
||||
return uploadedFiles;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user