UNPKG

@asposecloud/aspose-tasks-cloud

Version:
296 lines (292 loc) 16.7 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("getTasks 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 = "Project2016.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const request = new model_1.GetTasksRequest(); request.name = fileName; request.folder = remotePath; const result = yield tasksApi.getTasks(request); chai_1.expect(result.response.statusCode).to.equal(200); chai_1.expect(result.body.tasks).is.not.undefined.and.not.null; chai_1.expect(result.body.tasks.taskItem.length).to.equal(6); const firstTask = result.body.tasks.taskItem.find(t => t.uid == 5); chai_1.expect(firstTask).is.not.undefined.and.not.null; chai_1.expect(firstTask.name).to.equal("Summary Task 1"); chai_1.expect(firstTask.start).to.eql(new Date(2015, 7, 3, 8, 0, 0)); chai_1.expect(firstTask.finish).to.eql(new Date(2015, 7, 6, 17, 0, 0)); chai_1.expect(firstTask.link.href).to.eql("/5"); })); }); describe("getTask 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 = "Project2016.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const request = new model_1.GetTaskRequest(); request.name = fileName; request.folder = remotePath; request.taskUid = 5; const result = yield tasksApi.getTask(request); chai_1.expect(result.response.statusCode).to.equal(200); chai_1.expect(result.body.task).is.not.undefined.and.not.null; chai_1.expect(result.body.task.uid).to.equal(5); chai_1.expect(result.body.task.subtasksUids).to.eql([1, 2, 3, 4]); chai_1.expect(result.body.task.name).to.equal("Summary Task 1"); chai_1.expect(result.body.task.start).to.eql(new Date(2015, 7, 3, 8, 0, 0)); chai_1.expect(result.body.task.finish).to.eql(new Date(2015, 7, 6, 17, 0, 0)); chai_1.expect(result.body.task.remainingWork).to.equal("1.08:00:00"); chai_1.expect(result.body.task.workVariance).to.equal(1920); })); }); describe("deleteTask 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 = "Project2016.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const deleteRequest = new model_1.DeleteTaskRequest(); deleteRequest.name = fileName; deleteRequest.folder = remotePath; deleteRequest.taskUid = 4; const deleteResult = yield tasksApi.deleteTask(deleteRequest); chai_1.expect(deleteResult.response.statusCode).to.equal(200); const getRequest = new model_1.GetTasksRequest(); getRequest.name = fileName; getRequest.folder = remotePath; const getResult = yield tasksApi.getTasks(getRequest); chai_1.expect(getResult.response.statusCode).to.equal(200); chai_1.expect(getResult.body.tasks).is.not.undefined.and.not.null; chai_1.expect(getResult.body.tasks.taskItem.length).to.equal(5); const task = getResult.body.tasks.taskItem.find(t => t.uid == 4); chai_1.expect(task).is.undefined; })); }); describe("postTasks 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 postRequest = new model_1.PostTasksRequest(); postRequest.name = fileName; postRequest.folder = remotePath; const firstTask = new model_1.TaskCreationRequest({ taskName: "SomeFirstTaskName" }); const secondTask = new model_1.TaskCreationRequest({ taskName: "SomeSecondTaskNameWithParent", parentTaskUid: 2 }); postRequest.requests = [firstTask, secondTask]; const postResult = yield tasksApi.postTasks(postRequest); chai_1.expect(postResult.body.code).to.equal(201); chai_1.expect(postResult.body.tasks).is.not.undefined.and.not.null; chai_1.expect(postResult.body.tasks.taskItem.length).to.equal(postRequest.requests.length); const newSubtaskUid = postResult.body.tasks.taskItem.find(t => t.name === secondTask.taskName).uid; const getRequest = new model_1.GetTaskRequest(); getRequest.name = fileName; getRequest.folder = remotePath; getRequest.taskUid = secondTask.parentTaskUid; const getResult = yield tasksApi.getTask(getRequest); chai_1.expect(getResult.response.statusCode).to.equal(200); chai_1.expect(getResult.body.task).is.not.undefined.and.not.null; chai_1.expect(getResult.body.task.subtasksUids).contains(newSubtaskUid); })); }); describe("postTask 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 = "Project2016.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const postRequest = new model_1.PostTaskRequest(); postRequest.name = fileName; postRequest.folder = remotePath; postRequest.beforeTaskId = 4; postRequest.taskName = "New task name"; const postResult = yield tasksApi.postTask(postRequest); chai_1.expect(postResult.body.code).to.equal(201); chai_1.expect(postResult.body.taskItem).is.not.undefined.and.not.null; const getRequest = new model_1.GetTaskRequest(); getRequest.name = fileName; getRequest.folder = remotePath; getRequest.taskUid = postResult.body.taskItem.uid; const getResult = yield tasksApi.getTask(getRequest); chai_1.expect(getResult.response.statusCode).to.equal(200); chai_1.expect(getResult.body.task).is.not.undefined.and.not.null; })); }); describe("putTask 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 = "Project2016.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const getRequest = new model_1.GetTaskRequest(); getRequest.name = fileName; getRequest.folder = remotePath; getRequest.taskUid = 4; let getResult = yield tasksApi.getTask(getRequest); const task = getResult.body.task; task.name = "Modified task name"; task.isManual = true; task.manualStart = new Date(Date.UTC(2015, 9, 1, 9, 15, 0)); task.manualFinish = new Date(Date.UTC(2015, 9, 1, 17, 15, 0)); const putRequest = new model_1.PutTaskRequest(); putRequest.name = fileName; putRequest.folder = remotePath; putRequest.taskUid = 4; putRequest.recalculate = false; putRequest.mode = model_1.CalculationMode.None; putRequest.task = task; const putResult = yield tasksApi.putTask(putRequest); chai_1.expect(putResult.body.code).to.equal(200); getResult = yield tasksApi.getTask(getRequest); chai_1.expect(getResult.response.statusCode).to.equal(200); chai_1.expect(getResult.body.task).is.not.undefined.and.not.null; chai_1.expect(getResult.body.task.name).to.equal("Modified task name"); chai_1.expect(getResult.body.task.isManual).is.true; chai_1.expect(getResult.body.task.manualStart).to.eql(new Date(2015, 9, 1, 9, 15, 0)); chai_1.expect(getResult.body.task.manualFinish).to.eql(new Date(2015, 9, 1, 17, 15, 0)); })); }); describe("getTaskAssignments 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 request = new model_1.GetTaskAssignmentsRequest(); request.name = fileName; request.folder = remotePath; request.taskUid = 1; const result = yield tasksApi.getTaskAssignments(request); chai_1.expect(result.response.statusCode).to.equal(200); chai_1.expect(result.body.assignments).is.not.undefined.and.not.null; })); }); describe("putMoveTask 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.GetTaskRequest(); getRequest.name = fileName; getRequest.folder = remotePath; getRequest.taskUid = 6; let getResult = yield tasksApi.getTask(getRequest); chai_1.expect(getResult.response.statusCode).to.equal(200); chai_1.expect(getResult.body.task.subtasksUids.find(t => t == 10)).is.undefined; const putMoveRequest = new model_1.PutMoveTaskRequest(); putMoveRequest.name = fileName; putMoveRequest.folder = remotePath; putMoveRequest.parentTaskUid = 6; putMoveRequest.taskUid = 10; const putMoveResult = yield tasksApi.putMoveTask(putMoveRequest); chai_1.expect(putMoveResult.body.code).to.equal(200); getResult = yield tasksApi.getTask(getRequest); chai_1.expect(getResult.response.statusCode).to.equal(200); chai_1.expect(getResult.body.task.subtasksUids.find(t => t == 10)).is.not.undefined.and.not.null; })); }); describe("putMoveTaskToSibling 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 putMoveToSiblingRequest = new model_1.PutMoveTaskToSiblingRequest(); putMoveToSiblingRequest.name = fileName; putMoveToSiblingRequest.folder = remotePath; putMoveToSiblingRequest.beforeTaskUid = 41; putMoveToSiblingRequest.taskUid = 40; const putMoveToSiblingResult = yield tasksApi.putMoveTaskToSibling(putMoveToSiblingRequest); chai_1.expect(putMoveToSiblingResult.body.code).to.equal(200); const getRequest = new model_1.GetTaskRequest(); getRequest.name = fileName; getRequest.folder = remotePath; getRequest.taskUid = 38; const getResult = yield tasksApi.getTask(getRequest); chai_1.expect(getResult.response.statusCode).to.equal(200); chai_1.expect(getResult.body.task.subtasksUids).to.eql([39, 40, 41]); ; })); it("should return response with code 404 if input uid is not found", () => __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 putMoveToSiblingRequest = new model_1.PutMoveTaskToSiblingRequest(); putMoveToSiblingRequest.name = fileName; putMoveToSiblingRequest.folder = remotePath; putMoveToSiblingRequest.beforeTaskUid = -1; putMoveToSiblingRequest.taskUid = 99999; try { chai_1.expect(yield tasksApi.putMoveTaskToSibling(putMoveToSiblingRequest)).throw(); } catch (e) { chai_1.expect(e.message).to.equal("Not Found"); chai_1.expect(e.response.body.Error.Code).to.equal("TaskDoesntExist"); chai_1.expect(e.response.body.Error.Message).to.equal("Task with 99999 Uid doesn't exist"); } })); }); //# sourceMappingURL=tasksTests.js.map