Files
alfresco-ng2-components/e2e/actions/ACS/upload.actions.ts
Eugenio Romano 7fd905d92c [no-issue] refactor failing e2e (#3865)
* fix ps test

* fix import

* fix import

* fix ps

* fix hyperlink

* fix radio hiperlynk

* autorename for clashes

* notification fix

* convert userdialog to ts

* fix travis configuration

* fix download in folder

* convert contentservice page to ts

* convert setting and login to ts

* remove unused import

* fix login import

* fix login page

* fix chips

* fix import
speed up viewer test

* fix contentlist

* change id

* fix cs e2e

* fix search lint

* fix name issue
2018-10-11 14:22:44 +01:00

85 lines
2.6 KiB
TypeScript

/*!
* @license
* Copyright 2016 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 path = require('path');
import fs = require('fs');
import TestConfig = require('../../test.config');
export class UploadActions {
async uploadFile(alfrescoJsApi, fileLocation, fileName, parentFolderId) {
let pathFile = path.join(TestConfig.main.rootPath + fileLocation);
let file = fs.createReadStream(pathFile);
return alfrescoJsApi.upload.uploadFile(
file,
'',
parentFolderId,
null,
{
'name': fileName,
'nodeType': 'cm:content',
'renditions': 'doclib'
}
);
}
async createEmptyFiles(alfrescoJsApi, emptyFileNames: string[], parentFolderId) {
let filesRequest = [];
for (let i = 0; i < emptyFileNames.length; i++) {
let jsonItem = {};
jsonItem['name'] = emptyFileNames[i];
jsonItem['nodeType'] = 'cm:content';
filesRequest.push(jsonItem);
}
return alfrescoJsApi.nodes.addNode(parentFolderId, filesRequest, {}, {
filedata: ''
});
}
async uploadFolder(alfrescoJsApi, folderName, parentFolderId) {
return alfrescoJsApi.nodes.addNode(parentFolderId, {
'name': folderName,
'nodeType': 'cm:folder'
}, {}, {});
}
async deleteFilesOrFolder(alfrescoJsApi, folderId) {
return alfrescoJsApi.nodes.deleteNode(folderId, { permanent: true } );
}
async uploadFolderFiles(alfrescoJsApi, sourcePath, folder) {
let absolutePath = '../../' + sourcePath;
let files = fs.readdirSync(path.join(__dirname, absolutePath));
let uploadedFiles;
let promises = [];
if (files && files.length > 0) {
for (const fileName of files) {
let pathFile = path.join(sourcePath, fileName);
promises.push(this.uploadFile(alfrescoJsApi, pathFile, fileName, folder));
}
uploadedFiles = await Promise.all(promises);
}
return uploadedFiles;
}
}