@hyper.software/common-helpers 1.10.7 → 1.10.8

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.
Files changed (28) hide show
  1. package/lib/interfaces.d.ts +3 -1
  2. package/lib/interfaces.js +2 -0
  3. package/lib/interfaces.js.map +1 -1
  4. package/lib/services/bookingService/__tests__/bookingsService.getAccommodationCost.test.js +51 -0
  5. package/lib/services/bookingService/__tests__/bookingsService.getAccommodationCost.test.js.map +1 -0
  6. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.d.ts +1 -0
  7. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.js +73 -0
  8. package/lib/services/bookingService/__tests__/bookingsService.getChildrenCost.test.js.map +1 -0
  9. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.d.ts +1 -0
  10. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.js +51 -0
  11. package/lib/services/bookingService/__tests__/bookingsService.getLengthOfStay.test.js.map +1 -0
  12. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.d.ts +1 -0
  13. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.js +32 -0
  14. package/lib/services/bookingService/__tests__/bookingsService.getServicesCost.test.js.map +1 -0
  15. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.d.ts +1 -0
  16. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.js +48 -0
  17. package/lib/services/bookingService/__tests__/bookingsService.getTotalCost.test.js.map +1 -0
  18. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.d.ts +1 -0
  19. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.js +185 -0
  20. package/lib/services/bookingService/__tests__/bookingsService.manualComputeTotalCost.test.js.map +1 -0
  21. package/lib/services/bookingService/bookingsService.js +2 -1
  22. package/lib/services/bookingService/bookingsService.js.map +1 -1
  23. package/lib/testingData/bookingData.js +49 -0
  24. package/lib/testingData/bookingData.js.map +1 -1
  25. package/package.json +1 -1
  26. package/lib/services/bookingService/__tests__/bookingsService.test.js +0 -413
  27. package/lib/services/bookingService/__tests__/bookingsService.test.js.map +0 -1
  28. /package/lib/services/bookingService/__tests__/{bookingsService.test.d.ts → bookingsService.getAccommodationCost.test.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyper.software/common-helpers",
3
- "version": "1.10.7",
3
+ "version": "1.10.8",
4
4
  "author": "Raul Tomescu <tomescu.raul+hyper@gmail.com>",
5
5
  "description": "Hyper Software Common Javascript Helpers",
6
6
  "main": "lib/index.js",
@@ -1,413 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var node_test_1 = require("node:test");
4
- var bookingsService_1 = require("../bookingsService");
5
- var bookingData_1 = require("../../../testingData/bookingData");
6
- var companyData_1 = require("../../../testingData/companyData");
7
- (0, node_test_1.describe)('WHEN testing .getAccommodationCost()', function () {
8
- it('SHOULD compute the correct accommodation cost for case 1 - A 2 day booking at the normal price without OBP or Length of stay Discount', function () {
9
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking1);
10
- expect(accommodationCost).toBe(1341);
11
- });
12
- 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 () {
13
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking2);
14
- expect(accommodationCost).toBe(248);
15
- });
16
- it('SHOULD compute the correct accommodation cost for case 3 - A 2-day booking with services (that are enabled by default), without OBP and without Length of Stay Discount ', function () {
17
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking3);
18
- expect(accommodationCost).toBe(298);
19
- });
20
- it('SHOULD compute the correct accommodation cost for case 4 - A 2-day booking with services (that are enabled by default), with OBP and without Length of Stay Discount ', function () {
21
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking4);
22
- expect(accommodationCost).toBe(248);
23
- });
24
- it('SHOULD compute the correct accommodation cost for case 5 - A 3-day booking with a reduced price by OBP and by the Length of Stay Discount', function () {
25
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking5);
26
- expect(accommodationCost).toBe(402.29999999999995);
27
- });
28
- it('SHOULD compute the correct accommodation cost for case 6 - A 3-day booking with services (enabled by default), with a reduced price by OBP and by the Length of Stay Discount ', function () {
29
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking6);
30
- expect(accommodationCost).toBe(417);
31
- });
32
- it('SHOULD compute the correct accommodation cost for case 7 - A 2-day booking at the normal price without OBP or Length of Stay Discount, with 1 child aged 5 years (0 - 10 range)', function () {
33
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking7);
34
- expect(accommodationCost).toBe(298);
35
- });
36
- it('SHOULD compute the correct accommodation cost for case 8 - A 2-day booking at the normal price with OBP or Length of Stay Discount, with 4 children of various age ranges ', function () {
37
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking8);
38
- expect(accommodationCost).toBe(298);
39
- });
40
- it('SHOULD compute the correct accommodation cost for case 9 - A 2-day booking with a reduced price by OBP and without Length of Stay Discount, with 4 children of various age ranges ', function () {
41
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking9);
42
- expect(accommodationCost).toBe(178.79999999999998);
43
- });
44
- it('SHOULD compute the correct accommodation cost for case 9 - A 3-day booking with normal price by OBP and with Length of Stay Discount, with 4 children of various age ranges', function () {
45
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking10);
46
- expect(accommodationCost).toBe(447);
47
- });
48
- it('SHOULD compute correct accommodation cost for case 12 - A 4-day booking with services that are enabled by default and are seasonal between 2 seasons Extended stay', function () {
49
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking12);
50
- expect(accommodationCost).toBe(1788);
51
- });
52
- });
53
- (0, node_test_1.describe)('WHEN testing getChildrenCost() + getChildrenTourismTax()', function () {
54
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 1 - A 2 day booking at the normal price without OBP or Length of stay Discount', function () {
55
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking1);
56
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking1);
57
- var childrenTotalCost = childrenCost + childrenTourismTax;
58
- expect(childrenTotalCost).toBe(0);
59
- });
60
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 2 - A 2-day booking with a reduced price by OBP and without Length of Stay Discount', function () {
61
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking2);
62
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking2);
63
- var childrenTotalCost = childrenCost + childrenTourismTax;
64
- expect(childrenTotalCost).toBe(0);
65
- });
66
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 3 - A 2-day booking with services (that are enabled by default), without OBP and without Length of Stay Discount ', function () {
67
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking3);
68
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking3);
69
- var childrenTotalCost = childrenCost + childrenTourismTax;
70
- expect(childrenTotalCost).toBe(0);
71
- });
72
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 4 - A 2-day booking with services (that are enabled by default), with OBP and without Length of Stay Discount ', function () {
73
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking4);
74
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking4);
75
- var childrenTotalCost = childrenCost + childrenTourismTax;
76
- expect(childrenTotalCost).toBe(0);
77
- });
78
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 5 - A 3-day booking with a reduced price by OBP and by the Length of Stay Discount', function () {
79
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking5);
80
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking5);
81
- var childrenTotalCost = childrenCost + childrenTourismTax;
82
- expect(childrenTotalCost).toBe(0);
83
- });
84
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 6 - A 3-day booking with services (enabled by default), with a reduced price by OBP and by the Length of Stay Discount ', function () {
85
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking6);
86
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking6);
87
- var childrenTotalCost = childrenCost + childrenTourismTax;
88
- expect(childrenTotalCost).toBe(0);
89
- });
90
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 7 - A 2-day booking at the normal price without OBP or Length of Stay Discount, with 1 child aged 5 years (0 - 10 range)', function () {
91
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking7);
92
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking7);
93
- var childrenTotalCost = childrenCost + childrenTourismTax;
94
- expect(childrenTotalCost).toBe(70);
95
- });
96
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 8 - A 2-day booking at the normal price with OBP or Length of Stay Discount, with 4 children of various age ranges ', function () {
97
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking8);
98
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking8);
99
- var childrenTotalCost = childrenCost + childrenTourismTax;
100
- expect(childrenTotalCost).toBe(210);
101
- });
102
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 9 - A 2-day booking with a reduced price by OBP and without Length of Stay Discount, with 4 children of various age ranges ', function () {
103
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking9);
104
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking9);
105
- var childrenTotalCost = childrenCost + childrenTourismTax;
106
- expect(childrenTotalCost).toBe(210);
107
- });
108
- it('SHOULD compute the correct getChildrenCost() + getChildrenTourismTax() cost for case 10 - A 3-day booking with normal price by OBP and with Length of Stay Discount, with 4 children of various age ranges', function () {
109
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking10);
110
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking10);
111
- var childrenTotalCost = childrenCost + childrenTourismTax;
112
- expect(childrenTotalCost).toBe(315);
113
- });
114
- it('SHOULD compute correct accommodation cost for case 12 - A 4-day booking with services that are enabled by default and are seasonal between 2 seasons Extended stay', function () {
115
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking12);
116
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking12);
117
- var childrenTotalCost = childrenCost + childrenTourismTax;
118
- expect(childrenTotalCost).toBe(0);
119
- });
120
- });
121
- (0, node_test_1.describe)('WHEN testing .getLengthOfStay()', function () {
122
- it('SHOULD compute the correct length of stay for booking1', function () {
123
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking1);
124
- expect(lengthOfStay).toBe(3);
125
- });
126
- it('SHOULD compute the correct length of stay for booking2', function () {
127
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking2);
128
- expect(lengthOfStay).toBe(2);
129
- });
130
- it('SHOULD compute the correct length of stay for booking3', function () {
131
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking3);
132
- expect(lengthOfStay).toBe(2);
133
- });
134
- it('SHOULD compute the correct length of stay for booking4', function () {
135
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking4);
136
- expect(lengthOfStay).toBe(2);
137
- });
138
- it('SHOULD compute the correct length of stay for booking5', function () {
139
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking5);
140
- expect(lengthOfStay).toBe(3);
141
- });
142
- it('SHOULD compute the correct length of stay for booking6', function () {
143
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking6);
144
- expect(lengthOfStay).toBe(3);
145
- });
146
- it('SHOULD compute the correct length of stay for booking7', function () {
147
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking7);
148
- expect(lengthOfStay).toBe(2);
149
- });
150
- it('SHOULD compute the correct length of stay for booking8', function () {
151
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking8);
152
- expect(lengthOfStay).toBe(2);
153
- });
154
- it('SHOULD compute the correct length of stay for booking9', function () {
155
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking9);
156
- expect(lengthOfStay).toBe(2);
157
- });
158
- it('SHOULD compute the correct length of stay for booking10', function () {
159
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking10);
160
- expect(lengthOfStay).toBe(3);
161
- });
162
- it('SHOULD compute correct accommodation cost for case 12 - A 4-day booking with services that are enabled by default and are seasonal between 2 seasons Extended stay', function () {
163
- var lengthOfStay = (0, bookingsService_1.getLengthOfStay)(bookingData_1.booking12);
164
- expect(lengthOfStay).toBe(4);
165
- });
166
- });
167
- (0, node_test_1.describe)('WHEN testing .getServicesCost()', function () {
168
- it('SHOULD compute the correct accommodation cost for case 3 - A 2-day booking with services (that are enabled by default), without OBP and without Length of Stay Discount ', function () {
169
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking3, companyData_1.company);
170
- expect(servicesCost).toBe(65);
171
- });
172
- it('SHOULD compute the correct accommodation cost for case 4 - A 2-day booking with services (that are enabled by default), with OBP and without Length of Stay Discount ', function () {
173
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking4, companyData_1.company);
174
- expect(servicesCost).toBe(55);
175
- });
176
- it('SHOULD compute the correct accommodation cost for case 6 - A 3-day booking with services (enabled by default), with a reduced price by OBP and by the Length of Stay Discount ', function () {
177
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking6, companyData_1.company);
178
- expect(servicesCost).toBe(40);
179
- });
180
- it('SHOULD compute correct accommodation cost for case 11 - A 3-day booking with services that are enabled by default and are seasonal between 2 seasons Extended stay and breakfast', function () {
181
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking11, companyData_1.company);
182
- expect(servicesCost).toBe(105);
183
- });
184
- it('SHOULD compute correct accommodation cost for case 12 - A 4-day booking with services that are enabled by default and are seasonal between 2 seasons Extended stay', function () {
185
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking12, companyData_1.company);
186
- expect(servicesCost).toBe(860);
187
- });
188
- it('SHOULD compute correct accommodation cost for case 13 - A 4-day booking with services that are enabled by default and are seasonal between 2 seasons Extended stay', function () {
189
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking13, companyData_1.company);
190
- expect(servicesCost).toBe(240);
191
- });
192
- });
193
- (0, node_test_1.describe)('WHEN computing the total cost of a booking', function () {
194
- it('SHOULD compute the correct booking cost for case 1 - A 2 day booking at the normal price without OBP or Length of stay Discount', function () {
195
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking1);
196
- expect(accommodationCost).toBe(1341);
197
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking1);
198
- expect(breakfastCost).toBe(0);
199
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking1);
200
- expect(childrenCost).toBe(0);
201
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking1);
202
- expect(childrenTourismTax).toBe(0);
203
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking1, companyData_1.company);
204
- expect(servicesCost).toBe(0);
205
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking1, companyData_1.company);
206
- expect(lengthOfStayDiscount).toBe(-241.38);
207
- var bookingTotalCost = accommodationCost + breakfastCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
208
- expect(bookingTotalCost).toBe(1099.62);
209
- });
210
- it('SHOULD compute the correct booking cost for case 2 - A 2-day booking with a reduced price by OBP and without Length of Stay Discount', function () {
211
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking2);
212
- expect(accommodationCost).toBe(248);
213
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking2);
214
- expect(breakfastCost).toBe(0);
215
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking2);
216
- expect(childrenCost).toBe(0);
217
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking2);
218
- expect(childrenTourismTax).toBe(0);
219
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking2, companyData_1.company);
220
- expect(servicesCost).toBe(0);
221
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking2, companyData_1.company);
222
- expect(lengthOfStayDiscount).toBe(0);
223
- var bookingTotalCost = accommodationCost + breakfastCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
224
- expect(bookingTotalCost).toBe(248);
225
- });
226
- it('SHOULD compute the correct accommodation cost for case 3 - A 2-day booking with services (that are enabled by default), without OBP and without Length of Stay Discount ', function () {
227
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking3);
228
- expect(accommodationCost).toBe(298);
229
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking3);
230
- expect(breakfastCost).toBe(0);
231
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking3);
232
- expect(childrenCost).toBe(0);
233
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking3);
234
- expect(childrenTourismTax).toBe(0);
235
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking3, companyData_1.company);
236
- expect(servicesCost).toBe(65);
237
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking3, companyData_1.company);
238
- expect(lengthOfStayDiscount).toBe(0);
239
- var bookingTotalCost = accommodationCost + breakfastCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
240
- expect(bookingTotalCost).toBe(363);
241
- });
242
- it('SHOULD compute the correct accommodation cost for case 4 - A 2-day booking with services (that are enabled by default), with OBP and without Length of Stay Discount ', function () {
243
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking4);
244
- expect(accommodationCost).toBe(248);
245
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking4);
246
- expect(breakfastCost).toBe(0);
247
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking4);
248
- expect(childrenCost).toBe(0);
249
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking4);
250
- expect(childrenTourismTax).toBe(0);
251
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking4, companyData_1.company);
252
- expect(servicesCost).toBe(55);
253
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking4, companyData_1.company);
254
- expect(lengthOfStayDiscount).toBe(0);
255
- var bookingTotalCost = accommodationCost + breakfastCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
256
- expect(bookingTotalCost).toBe(303);
257
- });
258
- it('SHOULD compute the correct accommodation cost for case 5 - A 3-day booking with a reduced price by OBP and by the Length of Stay Discount', function () {
259
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking5);
260
- expect(accommodationCost).toBe(402.29999999999995);
261
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking5);
262
- expect(breakfastCost).toBe(30); // breakfast cost is included in the accommodation cost
263
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking5);
264
- expect(childrenCost).toBe(0);
265
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking5);
266
- expect(childrenTourismTax).toBe(0);
267
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking5, companyData_1.company);
268
- expect(servicesCost).toBe(0);
269
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking5, companyData_1.company);
270
- expect(lengthOfStayDiscount).toBe(-72.41399999999999);
271
- var bookingTotalCost = accommodationCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
272
- expect(bookingTotalCost).toBe(329.88599999999997);
273
- });
274
- it('SHOULD compute the correct accommodation cost for case 6 - A 3-day booking with services (enabled by default), with a reduced price by OBP and by the Length of Stay Discount ', function () {
275
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking6);
276
- expect(accommodationCost).toBe(417);
277
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking6);
278
- expect(breakfastCost).toBe(90); // breakfast cost is included in the accommodation cost
279
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking6);
280
- expect(childrenCost).toBe(0);
281
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking6);
282
- expect(childrenTourismTax).toBe(0);
283
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking6, companyData_1.company);
284
- expect(servicesCost).toBe(40);
285
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking6, companyData_1.company);
286
- expect(lengthOfStayDiscount).toBe(-75.06);
287
- var bookingTotalCost = accommodationCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
288
- expect(bookingTotalCost).toBe(381.94);
289
- });
290
- it('SHOULD compute the correct accommodation cost for case 7 - A 2-day booking at the normal price without OBP or Length of Stay Discount, with 1 child aged 5 years (0 - 10 range)', function () {
291
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking7);
292
- expect(accommodationCost).toBe(298);
293
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking7);
294
- expect(breakfastCost).toBe(50); // breakfast cost is included in the accommodation cost
295
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking7);
296
- expect(childrenCost).toBe(60);
297
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking7);
298
- expect(childrenTourismTax).toBe(10);
299
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking7, companyData_1.company);
300
- expect(servicesCost).toBe(0);
301
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking7, companyData_1.company);
302
- expect(lengthOfStayDiscount).toBe(0);
303
- var bookingTotalCost = accommodationCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
304
- expect(bookingTotalCost).toBe(368);
305
- });
306
- it('SHOULD compute the correct accommodation cost for case 8 - A 2-day booking at the normal price with OBP or Length of Stay Discount, with 4 children of various age ranges ', function () {
307
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking8);
308
- expect(accommodationCost).toBe(298);
309
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking8);
310
- expect(breakfastCost).toBe(60);
311
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking8);
312
- expect(childrenCost).toBe(180);
313
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking8);
314
- expect(childrenTourismTax).toBe(30);
315
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking8, companyData_1.company);
316
- expect(servicesCost).toBe(0);
317
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking8, companyData_1.company);
318
- expect(lengthOfStayDiscount).toBe(0);
319
- var bookingTotalCost = accommodationCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
320
- expect(bookingTotalCost).toBe(508);
321
- });
322
- it('SHOULD compute the correct accommodation cost for case 9 - A 2-day booking with a reduced price by OBP and without Length of Stay Discount, with 4 children of various age ranges ', function () {
323
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking9);
324
- expect(accommodationCost).toBe(178.79999999999998);
325
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking9);
326
- expect(breakfastCost).toBe(0);
327
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking9);
328
- expect(childrenCost).toBe(160);
329
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking9);
330
- expect(childrenTourismTax).toBe(50);
331
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking9, companyData_1.company);
332
- expect(servicesCost).toBe(0);
333
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking9, companyData_1.company);
334
- expect(lengthOfStayDiscount).toBe(0);
335
- var bookingTotalCost = accommodationCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
336
- expect(bookingTotalCost).toBe(388.79999999999995);
337
- });
338
- it('SHOULD compute the correct accommodation cost for case 10 - A 3-day booking with normal price by OBP and with Length of Stay Discount, with 4 children of various age ranges', function () {
339
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking10);
340
- expect(accommodationCost).toBe(447);
341
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking10);
342
- expect(breakfastCost).toBe(0);
343
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking10);
344
- expect(childrenCost).toBe(240);
345
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking10);
346
- expect(childrenTourismTax).toBe(75);
347
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking10, companyData_1.company);
348
- expect(servicesCost).toBe(0);
349
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking10, companyData_1.company);
350
- expect(lengthOfStayDiscount).toBe(-80.46);
351
- var bookingTotalCost = accommodationCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
352
- expect(bookingTotalCost).toBe(681.54);
353
- });
354
- it('SHOULD compute correct accommodation cost for case 11 - A 3-day booking with services that are enabled by default and are seasonal between 2 seasons Extended stay and breakfast', function () {
355
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking11);
356
- expect(accommodationCost).toBe(447);
357
- var breakfastCost = (0, bookingsService_1.getBreakfastCost)(bookingData_1.booking11);
358
- expect(breakfastCost).toBe(120);
359
- var childrenCost = (0, bookingsService_1.getChildrenCost)(bookingData_1.booking11);
360
- expect(childrenCost).toBe(0);
361
- var childrenTourismTax = (0, bookingsService_1.getChildrenTourismTaxCost)(bookingData_1.booking11);
362
- expect(childrenTourismTax).toBe(0);
363
- var servicesCost = (0, bookingsService_1.getServicesCost)(bookingData_1.booking11, companyData_1.company);
364
- expect(servicesCost).toBe(105);
365
- var lengthOfStayDiscount = (0, bookingsService_1.getLengthOfStayDiscount)(bookingData_1.booking11, companyData_1.company);
366
- expect(lengthOfStayDiscount).toBe(-80.46);
367
- var bookingTotalCost = accommodationCost + breakfastCost + childrenCost + childrenTourismTax + servicesCost + lengthOfStayDiscount;
368
- expect(bookingTotalCost).toBe(591.54);
369
- });
370
- });
371
- (0, node_test_1.describe)('WHEN testing .getTotalCost()', function () {
372
- it('SHOULD compute the correct accommodation cost for case 1 - A 2 day booking at the normal price without OBP or Length of stay Discount', function () {
373
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking1, companyData_1.company);
374
- expect(accommodationCost).toBe(1099.62);
375
- });
376
- 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 () {
377
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking2, companyData_1.company);
378
- expect(accommodationCost).toBe(248);
379
- });
380
- it('SHOULD compute the correct accommodation cost for case 3 - A 2-day booking with services (that are enabled by default), without OBP and without Length of Stay Discount ', function () {
381
- var accommodationCost = (0, bookingsService_1.getAccommodationCost)(bookingData_1.booking3);
382
- expect(accommodationCost).toBe(298);
383
- });
384
- it('SHOULD compute the correct accommodation cost for case 4 - A 2-day booking with services (that are enabled by default), with OBP and without Length of Stay Discount ', function () {
385
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking4, companyData_1.company);
386
- expect(accommodationCost).toBe(303);
387
- });
388
- it('SHOULD compute the correct accommodation cost for case 5 - A 3-day booking with a reduced price by OBP and by the Length of Stay Discount', function () {
389
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking5, companyData_1.company);
390
- expect(accommodationCost).toBe(329.88599999999997);
391
- });
392
- it('SHOULD compute the correct accommodation cost for case 6 - A 3-day booking with services (enabled by default), with a reduced price by OBP and by the Length of Stay Discount ', function () {
393
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking6, companyData_1.company);
394
- expect(accommodationCost).toBe(381.94);
395
- });
396
- it('SHOULD compute the correct accommodation cost for case 7 - A 2-day booking at the normal price without OBP or Length of Stay Discount, with 1 child aged 5 years (0 - 10 range)', function () {
397
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking7, companyData_1.company);
398
- expect(accommodationCost).toBe(368);
399
- });
400
- it('SHOULD compute the correct accommodation cost for case 8 - A 2-day booking at the normal price with OBP or Length of Stay Discount, with 4 children of various age ranges ', function () {
401
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking8, companyData_1.company);
402
- expect(accommodationCost).toBe(508);
403
- });
404
- it('SHOULD compute the correct accommodation cost for case 9 - A 2-day booking with a reduced price by OBP and without Length of Stay Discount, with 4 children of various age ranges ', function () {
405
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking9, companyData_1.company);
406
- expect(accommodationCost).toBe(388.79999999999995);
407
- });
408
- it('SHOULD compute the correct accommodation cost for case 9 - A 3-day booking with normal price by OBP and with Length of Stay Discount, with 4 children of various age ranges', function () {
409
- var accommodationCost = (0, bookingsService_1.getTotalCost)(bookingData_1.booking10, companyData_1.company);
410
- expect(accommodationCost).toBe(681.54);
411
- });
412
- });
413
- //# sourceMappingURL=bookingsService.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bookingsService.test.js","sourceRoot":"","sources":["../../../../src/services/bookingService/__tests__/bookingsService.test.ts"],"names":[],"mappings":"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"}