UNPKG

@asposecloud/aspose-tasks-cloud

Version:
157 lines (153 loc) 9.13 kB
"use strict"; /* * MIT License * Copyright (c) 2019 Aspose Pty Ltd * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const chai_1 = require("chai"); require("mocha"); const model_1 = require("../src/model/model"); const BaseTest = require("./baseTest"); describe("getResources function", () => { it("should return response with code 200 and correct data", () => __awaiter(void 0, void 0, void 0, function* () { const tasksApi = BaseTest.initializeTasksApi(); const fileName = "NewProductDev.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const request = new model_1.GetResourcesRequest(); request.name = fileName; request.folder = remotePath; const result = yield tasksApi.getResources(request); (0, chai_1.expect)(result.response.statusCode).to.equal(200); (0, chai_1.expect)(result.body.resources).is.not.undefined.and.not.null; (0, chai_1.expect)(result.body.resources.resourceItem.length).to.equal(2); (0, chai_1.expect)(result.body.resources.resourceItem[1].name).to.equal("Project manager"); (0, chai_1.expect)(result.body.resources.resourceItem[1].uid).to.equal(1); (0, chai_1.expect)(result.body.resources.resourceItem[1].id).to.equal(1); })); }); describe("postResource function", () => { it("should return response with code 200 and correct data", () => __awaiter(void 0, void 0, void 0, function* () { const tasksApi = BaseTest.initializeTasksApi(); const fileName = "Home_move_plan.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const getRequest = new model_1.GetResourcesRequest(); getRequest.name = fileName; getRequest.folder = remotePath; let getResult = yield tasksApi.getResources(getRequest); (0, chai_1.expect)(getResult.body.code).to.equal(200); const count = getResult.body.resources.resourceItem.length; const postRequest = new model_1.PostResourceRequest(); postRequest.name = fileName; postRequest.folder = remotePath; postRequest.resourceName = "new resource"; const postResult = yield tasksApi.postResource(postRequest); (0, chai_1.expect)(postResult.body.code).to.equal(201); getResult = yield tasksApi.getResources(getRequest); (0, chai_1.expect)(getResult.body.resources.resourceItem.length).to.equal(count + 1); const addedResource = getResult.body.resources.resourceItem.find(r => r.uid == postResult.body.resourceItem.uid); (0, chai_1.expect)(addedResource.name).to.equal("new resource"); })); }); describe("putResource function", () => { it("should return response with code 200 and correct data", () => __awaiter(void 0, void 0, void 0, function* () { const tasksApi = BaseTest.initializeTasksApi(); const fileName = "sample.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const getRequest = new model_1.GetResourceRequest(); getRequest.name = fileName; getRequest.folder = remotePath; getRequest.resourceUid = 1; const getResult = yield tasksApi.getResource(getRequest); (0, chai_1.expect)(getResult.body.code).to.equal(200); (0, chai_1.expect)(getResult.body.resource).is.not.undefined.and.not.null; const baseline = new model_1.Baseline(); baseline.baselineNumber = model_1.BaselineType.Baseline1; baseline.cost = 44; const resource = getResult.body.resource; resource.name = "Modified Resource1"; resource.cost = 200; resource.start = new Date(Date.UTC(2000, 9, 10)); resource.work = "4.04:10:00"; resource.finish = new Date(Date.UTC(2000, 9, 10)); resource.overtimeWork = "4.04:00:00"; resource.standardRate = 101; resource.baselines = [baseline]; const putRequest = new model_1.PutResourceRequest(); putRequest.name = fileName; putRequest.folder = remotePath; putRequest.resourceUid = 1; putRequest.recalculate = false; putRequest.resource = resource; putRequest.mode = model_1.CalculationMode.None; const putResult = yield tasksApi.putResource(putRequest); (0, chai_1.expect)(putResult.body.code).to.equal(200); (0, chai_1.expect)(putResult.body.resource.baselines.length).to.equal(1); (0, chai_1.expect)(putResult.body.resource.baselines[0].baselineNumber).to.equal(model_1.BaselineType.Baseline1); (0, chai_1.expect)(putResult.body.resource.baselines[0].cost).to.equal(44); (0, chai_1.expect)(putResult.body.resource.standardRate).to.equal(resource.standardRate); (0, chai_1.expect)(BaseTest.getDateOnly(putResult.body.resource.start)).to.eql(BaseTest.getDateOnly(resource.start)); (0, chai_1.expect)(putResult.body.resource.work).to.equal(resource.work); (0, chai_1.expect)(BaseTest.getDateOnly(putResult.body.resource.finish)).to.eql(BaseTest.getDateOnly(resource.finish)); (0, chai_1.expect)(putResult.body.resource.overtimeWork).to.equal(resource.overtimeWork); (0, chai_1.expect)(putResult.body.resource.cost).to.equal(resource.cost); })); }); describe("deleteResource function", () => { it("should return response with code 200 and correct data", () => __awaiter(void 0, void 0, void 0, function* () { const tasksApi = BaseTest.initializeTasksApi(); const fileName = "Plan_with_resource.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const getRequest = new model_1.GetResourcesRequest(); getRequest.name = fileName; getRequest.folder = remotePath; let getResult = yield tasksApi.getResources(getRequest); (0, chai_1.expect)(getResult.response.statusCode).to.equal(200); const resourcesCountBeforeDelete = getResult.body.resources.resourceItem.length; const deleteRequest = new model_1.DeleteResourceRequest(); deleteRequest.name = fileName; deleteRequest.folder = remotePath; deleteRequest.resourceUid = 1; const deleteResult = yield tasksApi.deleteResource(deleteRequest); (0, chai_1.expect)(deleteResult.response.statusCode).to.equal(200); getResult = yield tasksApi.getResources(getRequest); (0, chai_1.expect)(getResult.response.statusCode).to.equal(200); (0, chai_1.expect)(getResult.body.resources.resourceItem.length).to.lessThan(resourcesCountBeforeDelete); })); }); //# sourceMappingURL=resourcesTests.js.map