UNPKG

@asposecloud/aspose-tasks-cloud

Version:
241 lines (237 loc) 14.1 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("getCalendars 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.GetCalendarsRequest(); request.name = fileName; request.folder = remotePath; const result = yield tasksApi.getCalendars(request); chai_1.expect(result.response.statusCode).to.equal(200); chai_1.expect(result.body.calendars.list.length).to.equal(1); chai_1.expect(result.body.calendars.list[0].name).to.equal("Standard"); chai_1.expect(result.body.calendars.list[0].uid).to.equal(1); })); }); describe("getCalendar 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.GetCalendarRequest(); request.name = fileName; request.folder = remotePath; request.calendarUid = 1; const result = yield tasksApi.getCalendar(request); chai_1.expect(result.response.statusCode).to.equal(200); chai_1.expect(result.body.calendar.guid).to.equal("3F979F74-B9D3-4E5F-98DC-5E08060A0C30"); chai_1.expect(result.body.calendar.name).to.equal("Standard"); chai_1.expect(result.body.calendar.uid).to.equal(1); chai_1.expect(result.body.calendar.isBaseCalendar).is.true; chai_1.expect(result.body.calendar.isBaselineCalendar).is.false; chai_1.expect(result.body.calendar.days.length).to.equal(7); })); }); describe("postCalendar 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 request1 = new model_1.PostCalendarRequest(); request1.name = fileName; request1.folder = remotePath; request1.calendar = new model_1.Calendar(); request1.calendar.name = "My new calendar"; const firstDay = new model_1.WeekDay(); firstDay.dayType = model_1.DayType.Sunday; firstDay.dayWorking = false; const secondDay = new model_1.WeekDay(); secondDay.dayType = model_1.DayType.Monday; secondDay.dayWorking = true; secondDay.fromDate = new Date(0, 0, 0, 8); secondDay.toDate = new Date(0, 0, 0, 17); const firstWorkingTime = new model_1.WorkingTime(); firstWorkingTime.fromTime = new Date(Date.UTC(0, 0, 0, 8)); firstWorkingTime.toTime = new Date(Date.UTC(0, 0, 0, 13)); const secondWorkingTime = new model_1.WorkingTime(); secondWorkingTime.fromTime = new Date(Date.UTC(0, 0, 0, 14)); secondWorkingTime.toTime = new Date(Date.UTC(0, 0, 0, 17)); secondDay.workingTimes = [firstWorkingTime, secondWorkingTime]; request1.calendar.days = [firstDay, secondDay]; request1.calendar.isBaseCalendar = false; request1.calendar.isBaselineCalendar = false; const result1 = yield tasksApi.postCalendar(request1); chai_1.expect(result1.body.code).to.equal(201); const createdCalendarUid = result1.body.calendarItem.uid; const request2 = new model_1.GetCalendarRequest(); request2.name = fileName; request2.folder = remotePath; request2.calendarUid = createdCalendarUid; const result2 = yield tasksApi.getCalendar(request2); chai_1.expect(result2.response.statusCode).to.equal(200); chai_1.expect(result2.body.calendar).is.not.null.and.not.undefined; chai_1.expect(result2.body.calendar.name).to.equal("My new calendar"); chai_1.expect(result2.body.calendar.days.length).to.equal(7); const monday = result2.body.calendar.days.find(d => d.dayType === model_1.DayType.Monday); chai_1.expect(monday).is.not.null.and.not.undefined; chai_1.expect(monday.workingTimes.length).to.equal(2); chai_1.expect(BaseTest.getTimeOnly(monday.workingTimes[0].fromTime)).to.eql(BaseTest.getTimeOnly(firstWorkingTime.fromTime)); chai_1.expect(BaseTest.getTimeOnly(monday.workingTimes[0].toTime)).to.eql(BaseTest.getTimeOnly(firstWorkingTime.toTime)); chai_1.expect(BaseTest.getTimeOnly(monday.workingTimes[1].fromTime)).to.eql(BaseTest.getTimeOnly(secondWorkingTime.fromTime)); chai_1.expect(BaseTest.getTimeOnly(monday.workingTimes[1].toTime)).to.eql(BaseTest.getTimeOnly(secondWorkingTime.toTime)); })); it("should return response with code 400 if workingTimes is empty for any working day", () => __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.PostCalendarRequest(); request.name = fileName; request.folder = remotePath; request.calendar = new model_1.Calendar(); request.calendar.name = "My new calendar"; const firstDay = new model_1.WeekDay(); firstDay.dayType = model_1.DayType.Sunday; firstDay.dayWorking = false; const secondDay = new model_1.WeekDay(); secondDay.dayType = model_1.DayType.Monday; secondDay.dayWorking = true; secondDay.fromDate = new Date(0, 0, 0, 8); secondDay.toDate = new Date(0, 0, 0, 17); secondDay.workingTimes = []; request.calendar.days = [firstDay, secondDay]; request.calendar.isBaseCalendar = false; request.calendar.isBaselineCalendar = false; try { chai_1.expect(yield tasksApi.postCalendar(request)).throw(); } catch (e) { chai_1.expect(e.message).to.equal("Bad Request"); chai_1.expect(e.response.body.Error.Code).to.equal("InvalidParameters"); chai_1.expect(e.response.body.Error.Message).to.equal("Calendar should have at least one working time defined"); } })); }); describe("putCalendar 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 request1 = new model_1.PutCalendarRequest(); request1.name = fileName; request1.folder = remotePath; request1.calendarUid = 1; request1.calendar = new model_1.Calendar(); request1.calendar.uid = 1; request1.calendar.name = "Modified calendar"; const firstDay = new model_1.WeekDay(); firstDay.dayType = model_1.DayType.Sunday; firstDay.dayWorking = false; const secondDay = new model_1.WeekDay(); secondDay.dayType = model_1.DayType.Monday; secondDay.dayWorking = true; secondDay.fromDate = new Date(Date.UTC(0, 0, 0, 8)); secondDay.toDate = new Date(Date.UTC(0, 0, 0, 17)); const firstWorkingTime = new model_1.WorkingTime(); firstWorkingTime.fromTime = new Date(Date.UTC(0, 0, 0, 8)); firstWorkingTime.toTime = new Date(Date.UTC(0, 0, 0, 13)); const secondWorkingTime = new model_1.WorkingTime(); secondWorkingTime.fromTime = new Date(Date.UTC(0, 0, 0, 14)); secondWorkingTime.toTime = new Date(Date.UTC(0, 0, 0, 17)); secondDay.workingTimes = [firstWorkingTime, secondWorkingTime]; request1.calendar.days = [firstDay, secondDay]; request1.calendar.isBaseCalendar = false; request1.calendar.isBaselineCalendar = false; const result1 = yield tasksApi.putCalendar(request1); chai_1.expect(result1.response.statusCode).to.equal(200); const request2 = new model_1.GetCalendarRequest(); request2.name = fileName; request2.folder = remotePath; request2.calendarUid = 1; const result2 = yield tasksApi.getCalendar(request2); chai_1.expect(result2.response.statusCode).to.equal(200); chai_1.expect(result2.body.calendar).is.not.null.and.not.undefined; chai_1.expect(result2.body.calendar.name).to.equal("Modified calendar"); chai_1.expect(result2.body.calendar.days.length).to.equal(7); const monday = result2.body.calendar.days.find(d => d.dayType === model_1.DayType.Monday); chai_1.expect(monday).is.not.null.and.not.undefined; chai_1.expect(monday.workingTimes.length).to.equal(2); chai_1.expect(BaseTest.getTimeOnly(monday.workingTimes[0].fromTime)).to.eql(BaseTest.getTimeOnly(firstWorkingTime.fromTime)); chai_1.expect(BaseTest.getTimeOnly(monday.workingTimes[0].toTime)).to.eql(BaseTest.getTimeOnly(firstWorkingTime.toTime)); chai_1.expect(BaseTest.getTimeOnly(monday.workingTimes[1].fromTime)).to.eql(BaseTest.getTimeOnly(secondWorkingTime.fromTime)); chai_1.expect(BaseTest.getTimeOnly(monday.workingTimes[1].toTime)).to.eql(BaseTest.getTimeOnly(secondWorkingTime.toTime)); })); }); describe("deleteCalendar 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 = "CalendarWorkWeeks.mpp"; const localPath = BaseTest.localBaseTestDataFolder + fileName; const remotePath = BaseTest.remoteBaseTestDataFolder; const remoteFullPath = remotePath + "/" + fileName; yield tasksApi.uploadFileToStorage(remoteFullPath, localPath); const request1 = new model_1.DeleteCalendarRequest(); request1.name = fileName; request1.folder = remotePath; request1.calendarUid = 3; const result1 = yield tasksApi.deleteCalendar(request1); chai_1.expect(result1.response.statusCode).to.equal(200); const request2 = new model_1.GetCalendarsRequest(); request2.name = fileName; request2.folder = remotePath; const result2 = yield tasksApi.getCalendars(request2); chai_1.expect(result2.response.statusCode).to.equal(200); chai_1.expect(result2.body.calendars.list).is.not.null.and.not.undefined; chai_1.expect(result2.body.calendars.list.length).to.equal(1); chai_1.expect(result2.body.calendars.list[0].uid).to.equal(1); })); }); //# sourceMappingURL=calendarsTests.js.map