@hyper.software/common-helpers 1.2.5 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/services/bookingService/bookingsService.d.ts +2 -1
- package/lib/services/bookingService/bookingsService.js +25 -82
- package/lib/services/bookingService/bookingsService.js.map +1 -1
- package/lib/services/bookingService/bookingsService.test.js +30 -50
- package/lib/services/bookingService/bookingsService.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,5 +9,6 @@ export declare const getLengthOfStayDiscount: (booking: IBooking, company: any)
|
|
|
9
9
|
export declare const getAccommodationCost: (booking: IBooking) => number;
|
|
10
10
|
export declare const ensureValueIsNumber: (value: string | number, isDouble?: boolean) => number | null;
|
|
11
11
|
export declare const isOtaBooking: (booking: IBooking) => boolean;
|
|
12
|
+
export declare const getTotalCost: (booking: IBooking, company: any) => number;
|
|
12
13
|
export declare const getTotalGuestCount: (booking: IBooking) => IRoomBooking;
|
|
13
|
-
export declare const
|
|
14
|
+
export declare const getChildrenCost: (booking: IBooking) => number;
|
|
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
35
35
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
36
|
};
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.
|
|
38
|
+
exports.getChildrenCost = exports.getTotalGuestCount = exports.getTotalCost = exports.isOtaBooking = exports.ensureValueIsNumber = exports.getAccommodationCost = exports.getLengthOfStayDiscount = exports.getOccupancyBasedPricingDiscount = exports.getServicesCost = exports.getBreakfastCost = exports.getApplicablePricingRules = exports.getRoomTypePricePlanByType = exports.getDefaultRoomTypePricePlan = void 0;
|
|
39
39
|
var moment_1 = __importDefault(require("moment"));
|
|
40
40
|
var helpers_1 = require("../../helpers");
|
|
41
41
|
var dateService = __importStar(require("../dateService/dateService"));
|
|
@@ -122,6 +122,7 @@ var getOccupancyBasedPricingDiscount = function (booking) {
|
|
|
122
122
|
var applicablePricingRules = (0, exports.getApplicablePricingRules)(roomBooking, booking.bookingSource);
|
|
123
123
|
var sortedRules = applicablePricingRules.sort(function (a, b) { return a.numberOfAdults - b.numberOfAdults; });
|
|
124
124
|
var discountOrIncrease = sortedRules.find(function (rule) { return rule.active && rule.numberOfAdults >= roomBooking.numberOfAdults; });
|
|
125
|
+
var lengthOfStay = roomBookingsService.getLengthOfStayRoomBooking(roomBooking);
|
|
125
126
|
if (!discountOrIncrease) {
|
|
126
127
|
discountOrIncrease = sortedRules[sortedRules.length - 1];
|
|
127
128
|
}
|
|
@@ -135,7 +136,7 @@ var getOccupancyBasedPricingDiscount = function (booking) {
|
|
|
135
136
|
? basePrice * (discountOrIncrease.value / 100)
|
|
136
137
|
: discountOrIncrease.value;
|
|
137
138
|
var isDiscount = roomBooking.numberOfAdults < ((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.maxNumberOfAdults);
|
|
138
|
-
return (isDiscount ? -discountAmount : discountAmount) + accumulator;
|
|
139
|
+
return ((isDiscount ? -discountAmount : discountAmount) + accumulator) * lengthOfStay;
|
|
139
140
|
}, 0);
|
|
140
141
|
};
|
|
141
142
|
exports.getOccupancyBasedPricingDiscount = getOccupancyBasedPricingDiscount;
|
|
@@ -157,18 +158,18 @@ var getLengthOfStayDiscount = function (booking, company) {
|
|
|
157
158
|
};
|
|
158
159
|
exports.getLengthOfStayDiscount = getLengthOfStayDiscount;
|
|
159
160
|
var getAccommodationCost = function (booking) {
|
|
160
|
-
var
|
|
161
|
-
if (!
|
|
161
|
+
var _checkinDate = booking.checkinDate, _checkoutDate = booking.checkoutDate, roomBookings = booking.roomBookings, bookingSource = booking.bookingSource;
|
|
162
|
+
if (!_checkinDate || !_checkoutDate) {
|
|
162
163
|
return 0;
|
|
163
164
|
}
|
|
164
|
-
var
|
|
165
|
-
var
|
|
165
|
+
var checkinDate = (0, moment_1.default)(dateService.normalizeDate(_checkinDate)).startOf('day');
|
|
166
|
+
var checkoutDate = (0, moment_1.default)(dateService.normalizeDate(_checkoutDate)).startOf('day');
|
|
166
167
|
return roomBookings.reduce(function (totalCost, roomBooking) {
|
|
167
168
|
var _a, _b, _c;
|
|
168
169
|
var roomCost = 0;
|
|
169
|
-
var currentDate = (0, moment_1.default)(
|
|
170
|
+
var currentDate = (0, moment_1.default)(checkinDate);
|
|
170
171
|
// @TODO de vazut in toate proiectele unde se paseaza acest pricingInformation sa se paseze de fapt roomBooking.room?.roomType?.rTPricePlans DEFAULT | BOOKING
|
|
171
|
-
while (currentDate.isBefore(
|
|
172
|
+
while (currentDate.isBefore(checkoutDate)) {
|
|
172
173
|
var pricingInformation = ((_c = (0, exports.getRoomTypePricePlanByType)((_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.rTPricePlans, bookingSource)) === null || _c === void 0 ? void 0 : _c.pricing) || {};
|
|
173
174
|
var dateKey = currentDate.format(helpers_1.DATE_FORMATS.YYYY_MM_DD);
|
|
174
175
|
var basePrice = pricingInformation[dateKey] || 0;
|
|
@@ -179,48 +180,6 @@ var getAccommodationCost = function (booking) {
|
|
|
179
180
|
}, 0);
|
|
180
181
|
};
|
|
181
182
|
exports.getAccommodationCost = getAccommodationCost;
|
|
182
|
-
// export const getAccommodationCost = (
|
|
183
|
-
// roomBookings: Array<{
|
|
184
|
-
// roomId?: string
|
|
185
|
-
// breakfastIncluded?: boolean
|
|
186
|
-
// pricingInformation?: Partial<IRoomTypePricePlanPricingInformation>
|
|
187
|
-
// pricingRules?: IRoomTypePricePlanPricingRules
|
|
188
|
-
// numberOfAdults?: number
|
|
189
|
-
// numberOfChildren?: number
|
|
190
|
-
// room?: IRoom
|
|
191
|
-
// }>,
|
|
192
|
-
// _checkinDate: Moment,
|
|
193
|
-
// _checkoutDate: Moment,
|
|
194
|
-
// booking: IBooking,
|
|
195
|
-
// company: any,
|
|
196
|
-
// _applyDiscount?: boolean,
|
|
197
|
-
// ) => {
|
|
198
|
-
// if (!_checkinDate || !_checkoutDate) {
|
|
199
|
-
// return null
|
|
200
|
-
// }
|
|
201
|
-
// const checkinDate: moment.Moment = moment(dateService.normalizeDate(_checkinDate))
|
|
202
|
-
// const checkoutDate: moment.Moment = moment(dateService.normalizeDate(_checkoutDate))
|
|
203
|
-
// let totalCost = 0
|
|
204
|
-
// const applyDiscount = _applyDiscount ?? getApplyDiscount(booking)
|
|
205
|
-
// for (const roomBooking of roomBookings) {
|
|
206
|
-
// const costForRoomBooking = getTotalCostForRoomBooking(
|
|
207
|
-
// roomBooking,
|
|
208
|
-
// moment(checkinDate.toISOString()),
|
|
209
|
-
// moment(checkoutDate.toISOString()),
|
|
210
|
-
// applyDiscount,
|
|
211
|
-
// booking.bookingSource,
|
|
212
|
-
// )
|
|
213
|
-
// totalCost += costForRoomBooking
|
|
214
|
-
// }
|
|
215
|
-
// if (company && applyDiscount) {
|
|
216
|
-
// const bookingWithTotalCost = { ...booking, totalCost }
|
|
217
|
-
// totalCost = getLengthOfStayDiscount(bookingWithTotalCost, company)
|
|
218
|
-
// }
|
|
219
|
-
// if (booking && company && applyDiscount) {
|
|
220
|
-
// totalCost += calculateTourismTaxCost(booking, company)
|
|
221
|
-
// }
|
|
222
|
-
// return totalCost
|
|
223
|
-
// }
|
|
224
183
|
var ensureValueIsNumber = function (value, isDouble) {
|
|
225
184
|
if (isDouble === void 0) { isDouble = true; }
|
|
226
185
|
if ((0, helpers_1.isEmpty)(value)) {
|
|
@@ -258,36 +217,20 @@ var isOtaBooking = function (booking) {
|
|
|
258
217
|
(booking === null || booking === void 0 ? void 0 : booking.bookingSource) !== interfaces_1.BOOKING_SOURCE.IMPORT);
|
|
259
218
|
};
|
|
260
219
|
exports.isOtaBooking = isOtaBooking;
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
// ],
|
|
276
|
-
// moment(roomBooking.checkinDate),
|
|
277
|
-
// moment(roomBooking.checkoutDate),
|
|
278
|
-
// booking,
|
|
279
|
-
// company,
|
|
280
|
-
// applyDiscount,
|
|
281
|
-
// )
|
|
282
|
-
// const breakfastCost =
|
|
283
|
-
// roomBooking?.room?.roomType?.breakfastInformation?.type !== ROOM_TYPE_BREAKFAST_INFORMATION_TYPE.INCLUDED_IN_ROOM_PRICE
|
|
284
|
-
// ? getBreakfastCost(booking)
|
|
285
|
-
// : 0
|
|
286
|
-
// return totalCost + (roomCost || 0) + breakfastCost
|
|
287
|
-
// }, 0)
|
|
288
|
-
// const totalServicesCost = getServicesCost(booking)
|
|
289
|
-
// return totalAccommodationCost + totalServicesCost
|
|
290
|
-
// }
|
|
220
|
+
var getTotalCost = function (booking, company) {
|
|
221
|
+
if (!booking || !booking.roomBookings || booking.roomBookings.length === 0) {
|
|
222
|
+
return 0;
|
|
223
|
+
}
|
|
224
|
+
var isBreakfastIncluded = booking.roomBookings.map(function (roomBooking) { var _a, _b, _c; return ((_c = (_b = (_a = roomBooking.room) === null || _a === void 0 ? void 0 : _a.roomType) === null || _b === void 0 ? void 0 : _b.breakfastInformation) === null || _c === void 0 ? void 0 : _c.type) === interfaces_1.ROOM_TYPE_BREAKFAST_INFORMATION_TYPE.INCLUDED_IN_ROOM_PRICE; });
|
|
225
|
+
var accommodationCost = (0, exports.getAccommodationCost)(booking);
|
|
226
|
+
var servicesCost = (0, exports.getServicesCost)(booking, company);
|
|
227
|
+
var breakfastCost = isBreakfastIncluded ? 0 : (0, exports.getBreakfastCost)(booking);
|
|
228
|
+
var childrenCost = (0, exports.getChildrenCost)(booking);
|
|
229
|
+
var lengthOfStayDiscount = (0, exports.getLengthOfStayDiscount)(booking, company);
|
|
230
|
+
var discountOrIncreaseAmount = (0, exports.getOccupancyBasedPricingDiscount)(booking);
|
|
231
|
+
return accommodationCost + servicesCost + breakfastCost + childrenCost + lengthOfStayDiscount + discountOrIncreaseAmount;
|
|
232
|
+
};
|
|
233
|
+
exports.getTotalCost = getTotalCost;
|
|
291
234
|
var getTotalGuestCount = function (booking) {
|
|
292
235
|
return booking.roomBookings.reduce(function (total, roomBooking) { return ({
|
|
293
236
|
numberOfAdults: total.numberOfAdults + (roomBooking.numberOfAdults || 0),
|
|
@@ -295,7 +238,7 @@ var getTotalGuestCount = function (booking) {
|
|
|
295
238
|
}); }, { numberOfAdults: 0, numberOfChildren: 0 });
|
|
296
239
|
};
|
|
297
240
|
exports.getTotalGuestCount = getTotalGuestCount;
|
|
298
|
-
var
|
|
241
|
+
var getChildrenCost = function (booking) {
|
|
299
242
|
if (!booking || !Array.isArray(booking === null || booking === void 0 ? void 0 : booking.roomBookings)) {
|
|
300
243
|
return 0;
|
|
301
244
|
}
|
|
@@ -303,5 +246,5 @@ var getTotalChildrenCost = function (booking) {
|
|
|
303
246
|
return total + roomBookingsService.getChildrenCost(roomBooking);
|
|
304
247
|
}, 0);
|
|
305
248
|
};
|
|
306
|
-
exports.
|
|
249
|
+
exports.getChildrenCost = getChildrenCost;
|
|
307
250
|
//# sourceMappingURL=bookingsService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA2B;AAC3B,yCAAqD;AACrD,sEAAyD;AACzD,0EAA6D;AAC7D,+
|
|
1
|
+
{"version":3,"file":"bookingsService.js","sourceRoot":"","sources":["../../../src/services/bookingService/bookingsService.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var node_test_1 = require("node:test");
|
|
4
4
|
var bookingsService_1 = require("./bookingsService");
|
|
5
|
-
var roomBookingServices_1 = require("../roomBookingServices");
|
|
6
5
|
var booking1 = {
|
|
7
6
|
id: 'df0c780c-d571-490d-9e0b-3e00b0009dab',
|
|
8
7
|
companyId: 'd82ba143-3b0d-4569-972a-be7c3244901c',
|
|
@@ -3482,7 +3481,7 @@ var booking2 = {
|
|
|
3482
3481
|
roomId: 'fba4a50f-2f99-4af1-b2a7-80dd5129fc89',
|
|
3483
3482
|
bookingId: 'b8eed2f2-e9b3-49ec-97a3-d52e7579ba6e',
|
|
3484
3483
|
checkinDate: '2024-10-14T12:00:00.000Z',
|
|
3485
|
-
checkoutDate: '2024-10-
|
|
3484
|
+
checkoutDate: '2024-10-16T05:00:00.000Z',
|
|
3486
3485
|
breakfastIncluded: false,
|
|
3487
3486
|
numberOfAdults: 1,
|
|
3488
3487
|
numberOfChildren: 0,
|
|
@@ -28512,12 +28511,14 @@ var company = {
|
|
|
28512
28511
|
expect(servicesCost).toBe(0);
|
|
28513
28512
|
var breakfastCost = (0, bookingsService_1.getBreakfastCost)(booking1);
|
|
28514
28513
|
expect(breakfastCost).toBe(0);
|
|
28515
|
-
var childrenCost = (0,
|
|
28514
|
+
var childrenCost = (0, bookingsService_1.getChildrenCost)(booking1);
|
|
28516
28515
|
expect(childrenCost).toBe(0);
|
|
28517
28516
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking1, company);
|
|
28518
28517
|
expect(lengthOfStayDiscount).toBe(0);
|
|
28519
28518
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking1);
|
|
28520
28519
|
expect(discountOrIncreaseAmount).toBe(0);
|
|
28520
|
+
var totalCost = (0, bookingsService_1.getTotalCost)(booking1, company);
|
|
28521
|
+
expect(totalCost).toBe(298);
|
|
28521
28522
|
});
|
|
28522
28523
|
it('SHOULD compute the correct accommodation cost for case 2 - A 2-day booking with a reduced price by OBP and without Length of Stay Discount', function () {
|
|
28523
28524
|
var accommodationCost = (0, bookingsService_1.getAccommodationCost)(booking2);
|
|
@@ -28526,12 +28527,14 @@ var company = {
|
|
|
28526
28527
|
expect(servicesCost).toBe(0);
|
|
28527
28528
|
var breakfastCost = (0, bookingsService_1.getBreakfastCost)(booking2);
|
|
28528
28529
|
expect(breakfastCost).toBe(0);
|
|
28529
|
-
var childrenCost = (0,
|
|
28530
|
+
var childrenCost = (0, bookingsService_1.getChildrenCost)(booking2);
|
|
28530
28531
|
expect(childrenCost).toBe(0);
|
|
28531
28532
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking2, company);
|
|
28532
28533
|
expect(lengthOfStayDiscount).toBe(0);
|
|
28533
28534
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking2);
|
|
28534
|
-
expect(discountOrIncreaseAmount).toBe(-
|
|
28535
|
+
expect(discountOrIncreaseAmount).toBe(-20);
|
|
28536
|
+
var totalCost = (0, bookingsService_1.getTotalCost)(booking2, company);
|
|
28537
|
+
expect(totalCost).toBe(278);
|
|
28535
28538
|
});
|
|
28536
28539
|
it('SHOULD compute the correct accommodation cost for case 3 - A 2-day booking with an increased price by OBP and without Length of Stay Discount ', function () {
|
|
28537
28540
|
var accommodationCost = (0, bookingsService_1.getAccommodationCost)(booking3);
|
|
@@ -28540,12 +28543,14 @@ var company = {
|
|
|
28540
28543
|
expect(servicesCost).toBe(0);
|
|
28541
28544
|
var breakfastCost = (0, bookingsService_1.getBreakfastCost)(booking3);
|
|
28542
28545
|
expect(breakfastCost).toBe(0);
|
|
28543
|
-
var childrenCost = (0,
|
|
28546
|
+
var childrenCost = (0, bookingsService_1.getChildrenCost)(booking3);
|
|
28544
28547
|
expect(childrenCost).toBe(0);
|
|
28545
28548
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking3, company);
|
|
28546
28549
|
expect(lengthOfStayDiscount).toBe(0);
|
|
28547
28550
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking3);
|
|
28548
|
-
expect(discountOrIncreaseAmount).toBe(
|
|
28551
|
+
expect(discountOrIncreaseAmount).toBe(30);
|
|
28552
|
+
var totalCost = (0, bookingsService_1.getTotalCost)(booking3, company);
|
|
28553
|
+
expect(totalCost).toBe(328);
|
|
28549
28554
|
});
|
|
28550
28555
|
it('SHOULD compute the correct accommodation cost for case 4 - A 3-day booking with a reduced price by OBP and by the Length of Stay Discount ', function () {
|
|
28551
28556
|
var accommodationCost = (0, bookingsService_1.getAccommodationCost)(booking4);
|
|
@@ -28554,19 +28559,14 @@ var company = {
|
|
|
28554
28559
|
expect(servicesCost).toBe(0);
|
|
28555
28560
|
var breakfastCost = (0, bookingsService_1.getBreakfastCost)(booking4);
|
|
28556
28561
|
expect(breakfastCost).toBe(0);
|
|
28557
|
-
var childrenCost = (0,
|
|
28562
|
+
var childrenCost = (0, bookingsService_1.getChildrenCost)(booking4);
|
|
28558
28563
|
expect(childrenCost).toBe(0);
|
|
28559
28564
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking4, company);
|
|
28560
28565
|
expect(lengthOfStayDiscount).toBe(-30);
|
|
28561
28566
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking4);
|
|
28562
|
-
expect(discountOrIncreaseAmount).toBe(-
|
|
28563
|
-
var
|
|
28564
|
-
|
|
28565
|
-
breakfastCost +
|
|
28566
|
-
childrenCost +
|
|
28567
|
-
lengthOfStayDiscount +
|
|
28568
|
-
discountOrIncreaseAmount * (0, roomBookingServices_1.getLengthOfStayRoomBooking)(booking4);
|
|
28569
|
-
expect(totalBookingCost).toBe(387);
|
|
28567
|
+
expect(discountOrIncreaseAmount).toBe(-30);
|
|
28568
|
+
var totalCost = (0, bookingsService_1.getTotalCost)(booking4, company);
|
|
28569
|
+
expect(totalCost).toBe(387);
|
|
28570
28570
|
});
|
|
28571
28571
|
it('SHOULD compute the correct accommodation cost for case 5 - A 2-day booking at the normal price without OBP or Length of Stay Discount, with 1 child aged 5 years (0 - 10 range, 10 euros per night increase)', function () {
|
|
28572
28572
|
var accommodationCost = (0, bookingsService_1.getAccommodationCost)(booking5);
|
|
@@ -28575,19 +28575,14 @@ var company = {
|
|
|
28575
28575
|
expect(servicesCost).toBe(0);
|
|
28576
28576
|
var breakfastCost = (0, bookingsService_1.getBreakfastCost)(booking5);
|
|
28577
28577
|
expect(breakfastCost).toBe(0);
|
|
28578
|
-
var childrenCost = (0, bookingsService_1.
|
|
28578
|
+
var childrenCost = (0, bookingsService_1.getChildrenCost)(booking5);
|
|
28579
28579
|
expect(childrenCost).toBe(20);
|
|
28580
28580
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking5, company);
|
|
28581
28581
|
expect(lengthOfStayDiscount).toBe(0);
|
|
28582
28582
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking5);
|
|
28583
28583
|
expect(discountOrIncreaseAmount).toBe(0);
|
|
28584
|
-
var
|
|
28585
|
-
|
|
28586
|
-
breakfastCost +
|
|
28587
|
-
childrenCost +
|
|
28588
|
-
lengthOfStayDiscount +
|
|
28589
|
-
discountOrIncreaseAmount * (0, roomBookingServices_1.getLengthOfStayRoomBooking)(booking5); // dont forget the children cost
|
|
28590
|
-
expect(totalBookingCost).toBe(318);
|
|
28584
|
+
var totalCost = (0, bookingsService_1.getTotalCost)(booking5, company);
|
|
28585
|
+
expect(totalCost).toBe(318);
|
|
28591
28586
|
});
|
|
28592
28587
|
it('SHOULD compute the correct accommodation cost for case 6 - A 2-day booking at the normal price without OBP or Length of Stay Discount, with 4 children of various age ranges ', function () {
|
|
28593
28588
|
var accommodationCost = (0, bookingsService_1.getAccommodationCost)(booking6);
|
|
@@ -28596,19 +28591,14 @@ var company = {
|
|
|
28596
28591
|
expect(servicesCost).toBe(0);
|
|
28597
28592
|
var breakfastCost = (0, bookingsService_1.getBreakfastCost)(booking6);
|
|
28598
28593
|
expect(breakfastCost).toBe(0);
|
|
28599
|
-
var childrenCost = (0, bookingsService_1.
|
|
28594
|
+
var childrenCost = (0, bookingsService_1.getChildrenCost)(booking6);
|
|
28600
28595
|
expect(childrenCost).toBe(140);
|
|
28601
28596
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking6, company);
|
|
28602
28597
|
expect(lengthOfStayDiscount).toBe(0);
|
|
28603
28598
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking6);
|
|
28604
28599
|
expect(discountOrIncreaseAmount).toBe(0);
|
|
28605
|
-
var
|
|
28606
|
-
|
|
28607
|
-
breakfastCost +
|
|
28608
|
-
childrenCost +
|
|
28609
|
-
lengthOfStayDiscount +
|
|
28610
|
-
discountOrIncreaseAmount * (0, roomBookingServices_1.getLengthOfStayRoomBooking)(booking6);
|
|
28611
|
-
expect(totalBookingCost).toBe(438);
|
|
28600
|
+
var totalCost = (0, bookingsService_1.getTotalCost)(booking6, company);
|
|
28601
|
+
expect(totalCost).toBe(438);
|
|
28612
28602
|
});
|
|
28613
28603
|
it('SHOULD compute the correct accommodation cost for case 7 - A 2-day booking with a reduced price by OBP and without Length of Stay Discount, with 4 children of various age ranges', function () {
|
|
28614
28604
|
var accommodationCost = (0, bookingsService_1.getAccommodationCost)(booking7);
|
|
@@ -28617,19 +28607,14 @@ var company = {
|
|
|
28617
28607
|
expect(servicesCost).toBe(0);
|
|
28618
28608
|
var breakfastCost = (0, bookingsService_1.getBreakfastCost)(booking7);
|
|
28619
28609
|
expect(breakfastCost).toBe(0);
|
|
28620
|
-
var childrenCost = (0, bookingsService_1.
|
|
28610
|
+
var childrenCost = (0, bookingsService_1.getChildrenCost)(booking7);
|
|
28621
28611
|
expect(childrenCost).toBe(150);
|
|
28622
28612
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking7, company);
|
|
28623
28613
|
expect(lengthOfStayDiscount).toBe(0);
|
|
28624
28614
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking7);
|
|
28625
|
-
expect(discountOrIncreaseAmount).toBe(-
|
|
28626
|
-
var
|
|
28627
|
-
|
|
28628
|
-
breakfastCost +
|
|
28629
|
-
childrenCost +
|
|
28630
|
-
lengthOfStayDiscount +
|
|
28631
|
-
discountOrIncreaseAmount * (0, roomBookingServices_1.getLengthOfStayRoomBooking)(booking7);
|
|
28632
|
-
expect(totalBookingCost).toBe(418.2);
|
|
28615
|
+
expect(discountOrIncreaseAmount).toBe(-29.8);
|
|
28616
|
+
var totalCost = (0, bookingsService_1.getTotalCost)(booking7, company);
|
|
28617
|
+
expect(totalCost).toBe(418.2);
|
|
28633
28618
|
});
|
|
28634
28619
|
it('SHOULD compute the correct accommodation cost for case 8 - A 3-day booking with an increased price by OBP and with Length of Stay Discount, with 4 children of various age ranges', function () {
|
|
28635
28620
|
var accommodationCost = (0, bookingsService_1.getAccommodationCost)(booking8);
|
|
@@ -28638,19 +28623,14 @@ var company = {
|
|
|
28638
28623
|
expect(servicesCost).toBe(0);
|
|
28639
28624
|
var breakfastCost = (0, bookingsService_1.getBreakfastCost)(booking8);
|
|
28640
28625
|
expect(breakfastCost).toBe(0);
|
|
28641
|
-
var childrenCost = (0, bookingsService_1.
|
|
28626
|
+
var childrenCost = (0, bookingsService_1.getChildrenCost)(booking8);
|
|
28642
28627
|
expect(childrenCost).toBe(225);
|
|
28643
28628
|
var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(booking8, company);
|
|
28644
28629
|
expect(lengthOfStayDiscount).toBe(-30);
|
|
28645
28630
|
var discountOrIncreaseAmount = (0, bookingsService_1.getOccupancyBasedPricingDiscount)(booking8);
|
|
28646
|
-
expect(discountOrIncreaseAmount).toBe(
|
|
28647
|
-
var
|
|
28648
|
-
|
|
28649
|
-
breakfastCost +
|
|
28650
|
-
childrenCost +
|
|
28651
|
-
lengthOfStayDiscount +
|
|
28652
|
-
discountOrIncreaseAmount * (0, roomBookingServices_1.getLengthOfStayRoomBooking)(booking7);
|
|
28653
|
-
expect(totalBookingCost).toBe(682);
|
|
28631
|
+
expect(discountOrIncreaseAmount).toBe(60);
|
|
28632
|
+
var totalCost = (0, bookingsService_1.getTotalCost)(booking8, company);
|
|
28633
|
+
expect(totalCost).toBe(702);
|
|
28654
28634
|
});
|
|
28655
28635
|
});
|
|
28656
28636
|
//# sourceMappingURL=bookingsService.test.js.map
|