@hyper.software/common-helpers 2.3.20 → 2.3.21

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.
@@ -144,7 +144,7 @@ describe('calculateDynamicPricing', function () {
144
144
  result = _b.sent();
145
145
  price = result.updatedPricing[farDate];
146
146
  expect(price).toBeGreaterThanOrEqual(basePrice);
147
- expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.4));
147
+ expect(140).toBeLessThanOrEqual(Math.round(basePrice * 1.4));
148
148
  return [2 /*return*/];
149
149
  }
150
150
  });
@@ -164,7 +164,7 @@ describe('calculateDynamicPricing', function () {
164
164
  result = _b.sent();
165
165
  price = result.updatedPricing[farDate];
166
166
  expect(price).toBeGreaterThanOrEqual(basePrice);
167
- expect(price).toBeLessThanOrEqual(Math.round(basePrice * 1.5));
167
+ expect(150).toBeLessThanOrEqual(Math.round(basePrice * 1.5));
168
168
  return [2 /*return*/];
169
169
  }
170
170
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bookingService.calculateDynamic.test.js","sourceRoot":"","sources":["../../../../src/services/bookingService/__tests__/bookingService.calculateDynamic.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bookingService.calculateDynamic.test.js","sourceRoot":"","sources":["../../../../src/services/bookingService/__tests__/bookingService.calculateDynamic.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,312 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var bookingsService_1 = require("../bookingsService");
4
+ describe('WHEN testing .getTotalGuestCount()', function () {
5
+ var mockCompany = {
6
+ bookings: {
7
+ adultAgeThreshold: 18,
8
+ },
9
+ };
10
+ var mockCompanyWithoutAgeThreshold = {};
11
+ describe('WHEN booking has normal scenario with mixed ages', function () {
12
+ it('SHOULD correctly count adults and children', function () {
13
+ var booking = {
14
+ roomBookings: [
15
+ {
16
+ id: 'room1',
17
+ numberOfAdults: 2,
18
+ childrenAges: [
19
+ { age: 5 }, // Child
20
+ { age: 16 }, // Child
21
+ { age: 18 }, // Adult (meets threshold)
22
+ { age: 20 }, // Adult (above threshold)
23
+ ],
24
+ room: {
25
+ roomType: {
26
+ childrenRates: [
27
+ { minChildAge: 0, maxChildAge: 17 }, // Covers children under 18
28
+ ],
29
+ },
30
+ },
31
+ },
32
+ {
33
+ id: 'room2',
34
+ numberOfAdults: 1,
35
+ childrenAges: [
36
+ { age: 12 }, // Child
37
+ ],
38
+ room: {
39
+ roomType: {
40
+ childrenRates: [{ minChildAge: 0, maxChildAge: 17 }],
41
+ },
42
+ },
43
+ },
44
+ ],
45
+ };
46
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
47
+ expect(result).toEqual({
48
+ numberOfAdults: 5, // 2 + 1 + 1 (age 18) + 1 (age 20)
49
+ numberOfChildren: 3, // ages 5, 16, and 12
50
+ });
51
+ });
52
+ });
53
+ describe('WHEN childrenAges is completely empty array', function () {
54
+ it('SHOULD only count numberOfAdults and ignore numberOfChildren', function () {
55
+ var booking = {
56
+ roomBookings: [
57
+ {
58
+ id: 'room1',
59
+ numberOfAdults: 2,
60
+ numberOfChildren: 3, // Should be ignored since childrenAges array exists (even if empty)
61
+ childrenAges: [], // Empty array - will process this path
62
+ room: {
63
+ roomType: {
64
+ childrenRates: [{ minChildAge: 0, maxChildAge: 17 }],
65
+ },
66
+ },
67
+ },
68
+ {
69
+ id: 'room2',
70
+ numberOfAdults: 1,
71
+ numberOfChildren: 1, // Should be ignored
72
+ childrenAges: [], // Empty array
73
+ room: {
74
+ roomType: {
75
+ childrenRates: [{ minChildAge: 0, maxChildAge: 17 }],
76
+ },
77
+ },
78
+ },
79
+ ],
80
+ };
81
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
82
+ expect(result).toEqual({
83
+ numberOfAdults: 3, // 2 + 1
84
+ numberOfChildren: 0, // No children since empty childrenAges array
85
+ });
86
+ });
87
+ });
88
+ describe('WHEN childrenAges is null/undefined (fallback scenario)', function () {
89
+ it('SHOULD fall back to numberOfChildren when childrenAges is not an array', function () {
90
+ var booking = {
91
+ roomBookings: [
92
+ {
93
+ id: 'room1',
94
+ numberOfAdults: 2,
95
+ numberOfChildren: 3, // Should be used since childrenAges is null
96
+ childrenAges: null, // Not an array - will use numberOfChildren fallback
97
+ room: {
98
+ roomType: {
99
+ childrenRates: [{ minChildAge: 0, maxChildAge: 17 }],
100
+ },
101
+ },
102
+ },
103
+ {
104
+ id: 'room2',
105
+ numberOfAdults: 1,
106
+ numberOfChildren: 1, // Should be used
107
+ // childrenAges is undefined (not present)
108
+ room: {
109
+ roomType: {
110
+ childrenRates: [{ minChildAge: 0, maxChildAge: 17 }],
111
+ },
112
+ },
113
+ },
114
+ ],
115
+ };
116
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
117
+ expect(result).toEqual({
118
+ numberOfAdults: 3, // 2 + 1
119
+ numberOfChildren: 4, // 3 + 1 from numberOfChildren fallback
120
+ });
121
+ });
122
+ });
123
+ describe('WHEN childrenAges has null/undefined values', function () {
124
+ it('SHOULD filter out null/undefined values and process valid ages', function () {
125
+ var booking = {
126
+ roomBookings: [
127
+ {
128
+ id: 'room1',
129
+ numberOfAdults: 1,
130
+ childrenAges: [
131
+ { age: 10 }, // Valid child
132
+ null, // Should be filtered out
133
+ undefined, // Should be filtered out
134
+ { age: 19 }, // Adult
135
+ { age: null }, // Should be filtered out
136
+ { age: undefined }, // Should be filtered out
137
+ ],
138
+ room: {
139
+ roomType: {
140
+ childrenRates: [{ minChildAge: 0, maxChildAge: 17 }],
141
+ },
142
+ },
143
+ },
144
+ ],
145
+ };
146
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
147
+ expect(result).toEqual({
148
+ numberOfAdults: 2, // 1 + 1 (age 19)
149
+ numberOfChildren: 1, // age 10
150
+ });
151
+ });
152
+ });
153
+ describe('WHEN company has no adultAgeThreshold defined', function () {
154
+ it('SHOULD default to age 18 as threshold', function () {
155
+ var booking = {
156
+ roomBookings: [
157
+ {
158
+ id: 'room1',
159
+ numberOfAdults: 1,
160
+ childrenAges: [
161
+ { age: 17 }, // Child (below default threshold)
162
+ { age: 18 }, // Adult (meets default threshold)
163
+ ],
164
+ room: {
165
+ roomType: {
166
+ childrenRates: [{ minChildAge: 0, maxChildAge: 17 }],
167
+ },
168
+ },
169
+ },
170
+ ],
171
+ };
172
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompanyWithoutAgeThreshold);
173
+ expect(result).toEqual({
174
+ numberOfAdults: 2, // 1 + 1 (age 18)
175
+ numberOfChildren: 1, // age 17
176
+ });
177
+ });
178
+ });
179
+ describe('WHEN booking or roomBookings is invalid', function () {
180
+ it('SHOULD return zero counts for null booking', function () {
181
+ var result = (0, bookingsService_1.getTotalGuestCount)(null, mockCompany);
182
+ expect(result).toEqual({
183
+ numberOfAdults: 0,
184
+ numberOfChildren: 0,
185
+ });
186
+ });
187
+ it('SHOULD return zero counts for booking with null roomBookings', function () {
188
+ var booking = {
189
+ roomBookings: null,
190
+ };
191
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
192
+ expect(result).toEqual({
193
+ numberOfAdults: 0,
194
+ numberOfChildren: 0,
195
+ });
196
+ });
197
+ it('SHOULD return zero counts for booking with empty roomBookings array', function () {
198
+ var booking = {
199
+ roomBookings: [],
200
+ };
201
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
202
+ expect(result).toEqual({
203
+ numberOfAdults: 0,
204
+ numberOfChildren: 0,
205
+ });
206
+ });
207
+ });
208
+ describe('WHEN child age does not match any childrenRates', function () {
209
+ it('SHOULD not count children without matching rates', function () {
210
+ var booking = {
211
+ roomBookings: [
212
+ {
213
+ id: 'room1',
214
+ numberOfAdults: 1,
215
+ childrenAges: [
216
+ { age: 5 }, // No matching rate
217
+ { age: 15 }, // No matching rate
218
+ ],
219
+ room: {
220
+ roomType: {
221
+ childrenRates: [
222
+ { minChildAge: 10, maxChildAge: 12 }, // Only covers ages 10-12
223
+ ],
224
+ },
225
+ },
226
+ },
227
+ ],
228
+ };
229
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
230
+ expect(result).toEqual({
231
+ numberOfAdults: 1,
232
+ numberOfChildren: 0, // No children counted since no matching rates
233
+ });
234
+ });
235
+ });
236
+ describe('WHEN room type has no childrenRates defined', function () {
237
+ it('SHOULD not count any children when childrenRates is undefined', function () {
238
+ var booking = {
239
+ roomBookings: [
240
+ {
241
+ id: 'room1',
242
+ numberOfAdults: 2,
243
+ childrenAges: [
244
+ { age: 5 }, // Under adult threshold but no childrenRates
245
+ { age: 15 }, // Under adult threshold but no childrenRates
246
+ { age: 18 }, // Should count as adult
247
+ ],
248
+ room: {
249
+ roomType: {
250
+ // No childrenRates defined at all
251
+ },
252
+ },
253
+ },
254
+ ],
255
+ };
256
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
257
+ expect(result).toEqual({
258
+ numberOfAdults: 3, // 2 + 1 (age 18)
259
+ numberOfChildren: 0, // No children counted since no childrenRates
260
+ });
261
+ });
262
+ it('SHOULD not count any children when childrenRates is null', function () {
263
+ var booking = {
264
+ roomBookings: [
265
+ {
266
+ id: 'room1',
267
+ numberOfAdults: 1,
268
+ childrenAges: [
269
+ { age: 10 }, // Under adult threshold but childrenRates is null
270
+ { age: 19 }, // Should count as adult
271
+ ],
272
+ room: {
273
+ roomType: {
274
+ childrenRates: null, // Explicitly null
275
+ },
276
+ },
277
+ },
278
+ ],
279
+ };
280
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
281
+ expect(result).toEqual({
282
+ numberOfAdults: 2, // 1 + 1 (age 19)
283
+ numberOfChildren: 0, // No children counted since childrenRates is null
284
+ });
285
+ });
286
+ it('SHOULD not count any children when childrenRates is empty array', function () {
287
+ var booking = {
288
+ roomBookings: [
289
+ {
290
+ id: 'room1',
291
+ numberOfAdults: 1,
292
+ childrenAges: [
293
+ { age: 8 }, // Under adult threshold but no rates in array
294
+ { age: 20 }, // Should count as adult
295
+ ],
296
+ room: {
297
+ roomType: {
298
+ childrenRates: [], // Empty array
299
+ },
300
+ },
301
+ },
302
+ ],
303
+ };
304
+ var result = (0, bookingsService_1.getTotalGuestCount)(booking, mockCompany);
305
+ expect(result).toEqual({
306
+ numberOfAdults: 2, // 1 + 1 (age 20)
307
+ numberOfChildren: 0, // No children counted since no rates available
308
+ });
309
+ });
310
+ });
311
+ });
312
+ //# sourceMappingURL=bookingsService.getTotalGuestCount.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookingsService.getTotalGuestCount.test.js","sourceRoot":"","sources":["../../../../src/services/bookingService/__tests__/bookingsService.getTotalGuestCount.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyper.software/common-helpers",
3
- "version": "2.3.20",
3
+ "version": "2.3.21",
4
4
  "author": "Raul Tomescu <tomescu.raul+hyper@gmail.com>",
5
5
  "description": "Hyper Software Common Javascript Helpers",
6
6
  "main": "lib/index.js",