scrapemyferry 1.0.2 → 1.0.3

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 (89) hide show
  1. package/bcf.js +1 -0
  2. package/dist/lib/sources/index.d.ts +1 -0
  3. package/dist/lib/sources/index.d.ts.map +1 -1
  4. package/dist/lib/sources/index.js +15 -0
  5. package/dist/lib/sources/index.js.map +1 -1
  6. package/package.json +9 -3
  7. package/tsconfig.build.json +4 -0
  8. package/dist/lib/sources/bcf/tests/config.test.d.ts +0 -2
  9. package/dist/lib/sources/bcf/tests/config.test.d.ts.map +0 -1
  10. package/dist/lib/sources/bcf/tests/config.test.js +0 -24
  11. package/dist/lib/sources/bcf/tests/config.test.js.map +0 -1
  12. package/dist/lib/sources/bcf/tests/currentConditions.live.test.d.ts +0 -2
  13. package/dist/lib/sources/bcf/tests/currentConditions.live.test.d.ts.map +0 -1
  14. package/dist/lib/sources/bcf/tests/currentConditions.live.test.js +0 -26
  15. package/dist/lib/sources/bcf/tests/currentConditions.live.test.js.map +0 -1
  16. package/dist/lib/sources/bcf/tests/currentConditions.test.d.ts +0 -2
  17. package/dist/lib/sources/bcf/tests/currentConditions.test.d.ts.map +0 -1
  18. package/dist/lib/sources/bcf/tests/currentConditions.test.js +0 -169
  19. package/dist/lib/sources/bcf/tests/currentConditions.test.js.map +0 -1
  20. package/dist/lib/sources/bcf/tests/dailySchedule.live.test.d.ts +0 -2
  21. package/dist/lib/sources/bcf/tests/dailySchedule.live.test.d.ts.map +0 -1
  22. package/dist/lib/sources/bcf/tests/dailySchedule.live.test.js +0 -19
  23. package/dist/lib/sources/bcf/tests/dailySchedule.live.test.js.map +0 -1
  24. package/dist/lib/sources/bcf/tests/dailySchedule.test.d.ts +0 -2
  25. package/dist/lib/sources/bcf/tests/dailySchedule.test.d.ts.map +0 -1
  26. package/dist/lib/sources/bcf/tests/dailySchedule.test.js +0 -76
  27. package/dist/lib/sources/bcf/tests/dailySchedule.test.js.map +0 -1
  28. package/dist/lib/sources/bcf/tests/departures.live.test.d.ts +0 -2
  29. package/dist/lib/sources/bcf/tests/departures.live.test.d.ts.map +0 -1
  30. package/dist/lib/sources/bcf/tests/departures.live.test.js +0 -25
  31. package/dist/lib/sources/bcf/tests/departures.live.test.js.map +0 -1
  32. package/dist/lib/sources/bcf/tests/departures.test.d.ts +0 -2
  33. package/dist/lib/sources/bcf/tests/departures.test.d.ts.map +0 -1
  34. package/dist/lib/sources/bcf/tests/departures.test.js +0 -408
  35. package/dist/lib/sources/bcf/tests/departures.test.js.map +0 -1
  36. package/dist/lib/sources/bcf/tests/fixtures/availability.json +0 -1
  37. package/dist/lib/sources/bcf/tests/fixtures/current-conditions/departures.json +0 -1
  38. package/dist/lib/sources/bcf/tests/fixtures/current-conditions.json +0 -1
  39. package/dist/lib/sources/bcf/tests/fixtures/routes-fares/schedules/daily.json +0 -1
  40. package/dist/lib/sources/bcf/tests/fixtures/routes-fares/schedules/seasonal.json +0 -1
  41. package/dist/lib/sources/bcf/tests/fixtures/routes-fares/schedules.json +0 -1
  42. package/dist/lib/sources/bcf/tests/routes.live.test.d.ts +0 -2
  43. package/dist/lib/sources/bcf/tests/routes.live.test.d.ts.map +0 -1
  44. package/dist/lib/sources/bcf/tests/routes.live.test.js +0 -28
  45. package/dist/lib/sources/bcf/tests/routes.live.test.js.map +0 -1
  46. package/dist/lib/sources/bcf/tests/routes.test.d.ts +0 -2
  47. package/dist/lib/sources/bcf/tests/routes.test.d.ts.map +0 -1
  48. package/dist/lib/sources/bcf/tests/routes.test.js +0 -363
  49. package/dist/lib/sources/bcf/tests/routes.test.js.map +0 -1
  50. package/dist/lib/sources/bcf/tests/sailing.live.test.d.ts +0 -2
  51. package/dist/lib/sources/bcf/tests/sailing.live.test.d.ts.map +0 -1
  52. package/dist/lib/sources/bcf/tests/sailing.live.test.js +0 -25
  53. package/dist/lib/sources/bcf/tests/sailing.live.test.js.map +0 -1
  54. package/dist/lib/sources/bcf/tests/sailing.test.d.ts +0 -2
  55. package/dist/lib/sources/bcf/tests/sailing.test.d.ts.map +0 -1
  56. package/dist/lib/sources/bcf/tests/sailing.test.js +0 -53
  57. package/dist/lib/sources/bcf/tests/sailing.test.js.map +0 -1
  58. package/dist/lib/sources/bcf/tests/seasonalSchedule.live.test.d.ts +0 -2
  59. package/dist/lib/sources/bcf/tests/seasonalSchedule.live.test.d.ts.map +0 -1
  60. package/dist/lib/sources/bcf/tests/seasonalSchedule.live.test.js +0 -22
  61. package/dist/lib/sources/bcf/tests/seasonalSchedule.live.test.js.map +0 -1
  62. package/dist/lib/sources/bcf/tests/seasonalSchedule.test.d.ts +0 -2
  63. package/dist/lib/sources/bcf/tests/seasonalSchedule.test.d.ts.map +0 -1
  64. package/dist/lib/sources/bcf/tests/seasonalSchedule.test.js +0 -403
  65. package/dist/lib/sources/bcf/tests/seasonalSchedule.test.js.map +0 -1
  66. package/dist/lib/sources/bcf/tests/urls.test.d.ts +0 -2
  67. package/dist/lib/sources/bcf/tests/urls.test.d.ts.map +0 -1
  68. package/dist/lib/sources/bcf/tests/urls.test.js +0 -69
  69. package/dist/lib/sources/bcf/tests/urls.test.js.map +0 -1
  70. package/dist/lib/sources/bcf/tests/utils.test.d.ts +0 -2
  71. package/dist/lib/sources/bcf/tests/utils.test.d.ts.map +0 -1
  72. package/dist/lib/sources/bcf/tests/utils.test.js +0 -79
  73. package/dist/lib/sources/bcf/tests/utils.test.js.map +0 -1
  74. package/dist/lib/test/jest-conditional.d.ts +0 -11
  75. package/dist/lib/test/jest-conditional.d.ts.map +0 -1
  76. package/dist/lib/test/jest-conditional.js +0 -22
  77. package/dist/lib/test/jest-conditional.js.map +0 -1
  78. package/dist/lib/test/setup-jest-env.d.ts +0 -2
  79. package/dist/lib/test/setup-jest-env.d.ts.map +0 -1
  80. package/dist/lib/test/setup-jest-env.js +0 -30
  81. package/dist/lib/test/setup-jest-env.js.map +0 -1
  82. package/dist/lib/test/setup-jest-global.d.ts +0 -2
  83. package/dist/lib/test/setup-jest-global.d.ts.map +0 -1
  84. package/dist/lib/test/setup-jest-global.js +0 -7
  85. package/dist/lib/test/setup-jest-global.js.map +0 -1
  86. package/dist/lib/test/setup-jest.d.ts +0 -2
  87. package/dist/lib/test/setup-jest.d.ts.map +0 -1
  88. package/dist/lib/test/setup-jest.js +0 -5
  89. package/dist/lib/test/setup-jest.js.map +0 -1
@@ -1,403 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const seasonalSchedule_1 = require("../seasonalSchedule");
7
- const seasonal_json_1 = __importDefault(require("./fixtures/routes-fares/schedules/seasonal.json"));
8
- jest.mock('axios');
9
- const axiosMock = jest.requireMock('axios').default;
10
- describe('Seasonal Schedule', () => {
11
- function scrape({ from = 'HSB', to = 'LNG', } = {}) {
12
- return (0, seasonalSchedule_1.seasonalSchedule)(from, to);
13
- }
14
- beforeEach(() => {
15
- axiosMock.mockResolvedValue({ data: seasonal_json_1.default });
16
- });
17
- it('returns the seasonal schedule for the provided route', async () => {
18
- const result = await scrape();
19
- const url = 'https://www.bcferries.com/routes-fares/schedules/seasonal/HSB-LNG';
20
- expect(axiosMock).toHaveBeenCalledWith(url);
21
- expect(result).toStrictEqual({
22
- url,
23
- days: [
24
- {
25
- day: 'MONDAY',
26
- sailings: [
27
- {
28
- depart: '7:30 AM',
29
- arrive: '8:10 AM',
30
- duration: '00:40',
31
- messages: [],
32
- },
33
- {
34
- depart: '9:45 AM',
35
- arrive: '10:25 AM',
36
- duration: '00:40',
37
- messages: [],
38
- },
39
- {
40
- depart: '11:55 AM',
41
- arrive: '12:35 PM',
42
- duration: '00:40',
43
- messages: [],
44
- },
45
- {
46
- depart: '2:10 PM',
47
- arrive: '2:50 PM',
48
- duration: '00:40',
49
- messages: [],
50
- },
51
- {
52
- depart: '4:20 PM',
53
- arrive: '5:00 PM',
54
- duration: '00:40',
55
- messages: [],
56
- },
57
- {
58
- depart: '5:30 PM',
59
- arrive: '6:10 PM',
60
- duration: '00:40',
61
- messages: [],
62
- },
63
- {
64
- depart: '7:50 PM',
65
- arrive: '8:30 PM',
66
- duration: '00:40',
67
- messages: [],
68
- },
69
- {
70
- depart: '10:55 PM',
71
- arrive: '11:35 PM',
72
- duration: '00:40',
73
- messages: [],
74
- },
75
- ],
76
- },
77
- {
78
- day: 'TUESDAY',
79
- sailings: [
80
- {
81
- depart: '7:30 AM',
82
- arrive: '8:10 AM',
83
- duration: '00:40',
84
- messages: [],
85
- },
86
- {
87
- depart: '9:45 AM',
88
- arrive: '10:25 AM',
89
- duration: '00:40',
90
- messages: [],
91
- },
92
- {
93
- depart: '11:55 AM',
94
- arrive: '12:35 PM',
95
- duration: '00:40',
96
- messages: [],
97
- },
98
- {
99
- depart: '2:10 PM',
100
- arrive: '2:50 PM',
101
- duration: '00:40',
102
- messages: [],
103
- },
104
- {
105
- depart: '4:20 PM',
106
- arrive: '5:00 PM',
107
- duration: '00:40',
108
- messages: [],
109
- },
110
- {
111
- depart: '5:30 PM',
112
- arrive: '6:10 PM',
113
- duration: '00:40',
114
- messages: [],
115
- },
116
- {
117
- depart: '7:50 PM',
118
- arrive: '8:30 PM',
119
- duration: '00:40',
120
- messages: [],
121
- },
122
- {
123
- depart: '10:55 PM',
124
- arrive: '11:35 PM',
125
- duration: '00:40',
126
- messages: [],
127
- },
128
- ],
129
- },
130
- {
131
- day: 'WEDNESDAY',
132
- sailings: [
133
- {
134
- depart: '7:30 AM',
135
- arrive: '8:10 AM',
136
- duration: '00:40',
137
- messages: [],
138
- },
139
- {
140
- depart: '9:45 AM',
141
- arrive: '10:25 AM',
142
- duration: '00:40',
143
- messages: [],
144
- },
145
- {
146
- depart: '11:55 AM',
147
- arrive: '12:35 PM',
148
- duration: '00:40',
149
- messages: [],
150
- },
151
- {
152
- depart: '2:10 PM',
153
- arrive: '2:50 PM',
154
- duration: '00:40',
155
- messages: [],
156
- },
157
- {
158
- depart: '4:20 PM',
159
- arrive: '5:00 PM',
160
- duration: '00:40',
161
- messages: [],
162
- },
163
- {
164
- depart: '5:30 PM',
165
- arrive: '6:10 PM',
166
- duration: '00:40',
167
- messages: [],
168
- },
169
- {
170
- depart: '7:50 PM',
171
- arrive: '8:30 PM',
172
- duration: '00:40',
173
- messages: [],
174
- },
175
- {
176
- depart: '10:55 PM',
177
- arrive: '11:35 PM',
178
- duration: '00:40',
179
- messages: [],
180
- },
181
- ],
182
- },
183
- {
184
- day: 'THURSDAY',
185
- sailings: [
186
- {
187
- depart: '7:30 AM',
188
- arrive: '8:10 AM',
189
- duration: '00:40',
190
- messages: [],
191
- },
192
- {
193
- depart: '9:45 AM',
194
- arrive: '10:25 AM',
195
- duration: '00:40',
196
- messages: [],
197
- },
198
- {
199
- depart: '11:55 AM',
200
- arrive: '12:35 PM',
201
- duration: '00:40',
202
- messages: [],
203
- },
204
- {
205
- depart: '2:10 PM',
206
- arrive: '2:50 PM',
207
- duration: '00:40',
208
- messages: [],
209
- },
210
- {
211
- depart: '4:20 PM',
212
- arrive: '5:00 PM',
213
- duration: '00:40',
214
- messages: [],
215
- },
216
- {
217
- depart: '5:30 PM',
218
- arrive: '6:10 PM',
219
- duration: '00:40',
220
- messages: [],
221
- },
222
- {
223
- depart: '7:50 PM',
224
- arrive: '8:30 PM',
225
- duration: '00:40',
226
- messages: [],
227
- },
228
- {
229
- depart: '10:55 PM',
230
- arrive: '11:35 PM',
231
- duration: '00:40',
232
- messages: [],
233
- },
234
- ],
235
- },
236
- {
237
- day: 'FRIDAY',
238
- sailings: [
239
- {
240
- depart: '7:30 AM',
241
- arrive: '8:10 AM',
242
- duration: '00:40',
243
- messages: [],
244
- },
245
- {
246
- depart: '9:45 AM',
247
- arrive: '10:25 AM',
248
- duration: '00:40',
249
- messages: [],
250
- },
251
- {
252
- depart: '11:55 AM',
253
- arrive: '12:35 PM',
254
- duration: '00:40',
255
- messages: [],
256
- },
257
- {
258
- depart: '2:10 PM',
259
- arrive: '2:50 PM',
260
- duration: '00:40',
261
- messages: [],
262
- },
263
- {
264
- depart: '4:20 PM',
265
- arrive: '5:00 PM',
266
- duration: '00:40',
267
- messages: [],
268
- },
269
- {
270
- depart: '5:30 PM',
271
- arrive: '6:10 PM',
272
- duration: '00:40',
273
- messages: [],
274
- },
275
- {
276
- depart: '7:50 PM',
277
- arrive: '8:30 PM',
278
- duration: '00:40',
279
- messages: [],
280
- },
281
- {
282
- depart: '10:55 PM',
283
- arrive: '11:35 PM',
284
- duration: '00:40',
285
- messages: [],
286
- },
287
- ],
288
- },
289
- {
290
- day: 'SATURDAY',
291
- sailings: [
292
- {
293
- depart: '7:30 AM',
294
- arrive: '8:10 AM',
295
- duration: '00:40',
296
- messages: [],
297
- },
298
- {
299
- depart: '9:45 AM',
300
- arrive: '10:25 AM',
301
- duration: '00:40',
302
- messages: [],
303
- },
304
- {
305
- depart: '11:55 AM',
306
- arrive: '12:35 PM',
307
- duration: '00:40',
308
- messages: [],
309
- },
310
- {
311
- depart: '2:10 PM',
312
- arrive: '2:50 PM',
313
- duration: '00:40',
314
- messages: [],
315
- },
316
- {
317
- depart: '4:20 PM',
318
- arrive: '5:00 PM',
319
- duration: '00:40',
320
- messages: [],
321
- },
322
- {
323
- depart: '5:30 PM',
324
- arrive: '6:10 PM',
325
- duration: '00:40',
326
- messages: [],
327
- },
328
- {
329
- depart: '7:50 PM',
330
- arrive: '8:30 PM',
331
- duration: '00:40',
332
- messages: [],
333
- },
334
- {
335
- depart: '10:55 PM',
336
- arrive: '11:35 PM',
337
- duration: '00:40',
338
- messages: [],
339
- },
340
- ],
341
- },
342
- {
343
- day: 'SUNDAY',
344
- sailings: [
345
- {
346
- depart: '7:30 AM',
347
- arrive: '8:10 AM',
348
- duration: '00:40',
349
- messages: [],
350
- },
351
- {
352
- depart: '9:45 AM',
353
- arrive: '10:25 AM',
354
- duration: '00:40',
355
- messages: [],
356
- },
357
- {
358
- depart: '11:55 AM',
359
- arrive: '12:35 PM',
360
- duration: '00:40',
361
- messages: [],
362
- },
363
- {
364
- depart: '2:10 PM',
365
- arrive: '2:50 PM',
366
- duration: '00:40',
367
- messages: [],
368
- },
369
- {
370
- depart: '4:20 PM',
371
- arrive: '5:00 PM',
372
- duration: '00:40',
373
- messages: [],
374
- },
375
- {
376
- depart: '5:30 PM',
377
- arrive: '6:10 PM',
378
- duration: '00:40',
379
- messages: [],
380
- },
381
- {
382
- depart: '7:50 PM',
383
- arrive: '8:30 PM',
384
- duration: '00:40',
385
- messages: [],
386
- },
387
- {
388
- depart: '10:55 PM',
389
- arrive: '11:35 PM',
390
- duration: '00:40',
391
- messages: [],
392
- },
393
- ],
394
- },
395
- ],
396
- });
397
- });
398
- it('builds the correct URL for the provided terminals', async () => {
399
- await scrape({ from: 'TSW', to: 'DUK' });
400
- expect(axiosMock).toHaveBeenCalledWith('https://www.bcferries.com/routes-fares/schedules/seasonal/TSW-DUK');
401
- });
402
- });
403
- //# sourceMappingURL=seasonalSchedule.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seasonalSchedule.test.js","sourceRoot":"","sources":["../../../../../src/lib/sources/bcf/tests/seasonalSchedule.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=urls.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.test.d.ts","sourceRoot":"","sources":["../../../../../src/lib/sources/bcf/tests/urls.test.ts"],"names":[],"mappings":""}
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const dayjs_1 = __importDefault(require("dayjs"));
7
- const urls_1 = require("../urls");
8
- describe('BCF URLs', () => {
9
- describe('baseUrl', () => {
10
- it('should be the correct base URL', () => {
11
- expect(urls_1.baseUrl).toBe('https://www.bcferries.com');
12
- });
13
- });
14
- describe('bcFerriesUrl', () => {
15
- it('should create a basic URL without params', () => {
16
- expect((0, urls_1.bcFerriesUrl)('test', 'path')).toBe(`${urls_1.baseUrl}/test/path`);
17
- });
18
- it('should create a URL with params', () => {
19
- expect((0, urls_1.bcFerriesUrl)('test', 'path', { key: 'value' })).toBe(`${urls_1.baseUrl}/test/path?key=value`);
20
- });
21
- });
22
- describe('bcFerriesRouteUrl', () => {
23
- it('should create a route URL', () => {
24
- expect((0, urls_1.bcFerriesRouteUrl)('test', 'HSB', 'LNG')).toBe(`${urls_1.baseUrl}/test/HSB-LNG`);
25
- });
26
- it('should create a route URL with params', () => {
27
- expect((0, urls_1.bcFerriesRouteUrl)('test', 'HSB', 'LNG', { key: 'value' })).toBe(`${urls_1.baseUrl}/test/HSB-LNG?key=value`);
28
- });
29
- });
30
- describe('routesUrl', () => {
31
- it('should return the route fares schedules URL', () => {
32
- expect((0, urls_1.routesUrl)()).toBe(`${urls_1.baseUrl}/routes-fares/schedules`);
33
- });
34
- });
35
- describe('availabilityUrl', () => {
36
- it('should return the sailing availability URL for the provided route and departure timestamp', () => {
37
- const timestamp = (0, dayjs_1.default)('2025-01-01 14:10:00', 'YYYY-MM-DD HH:mm:ss');
38
- expect((0, urls_1.availabilityUrl)('HSB', 'LNG', timestamp.toISOString())).toBe(`${urls_1.baseUrl}/sailing-availability?departureTime=2025-01-01%2014:10:00&routeCode=HSB-LNG`);
39
- });
40
- it('should return the sailing availability URL for the provided route and departure time', () => {
41
- const currentDate = (0, dayjs_1.default)().format('YYYY-MM-DD');
42
- expect((0, urls_1.availabilityUrl)('HSB', 'LNG', `${currentDate} 14:10:00.000`)).toBe(`${urls_1.baseUrl}/sailing-availability?departureTime=${currentDate}%2014:10:00&routeCode=HSB-LNG`);
43
- });
44
- });
45
- describe('currentConditionsUrl', () => {
46
- it('should return the current conditions URL for the provided route', () => {
47
- expect((0, urls_1.currentConditionsUrl)('HSB', 'LNG')).toBe(`${urls_1.baseUrl}/current-conditions/HSB-LNG`);
48
- });
49
- });
50
- describe('departuresUrl', () => {
51
- it('should return the current conditions departures URL for the provided terminal', () => {
52
- expect((0, urls_1.departuresUrl)('HSB')).toBe(`${urls_1.baseUrl}/current-conditions/departures?terminalCode=HSB`);
53
- });
54
- });
55
- describe('dailyScheduleUrl', () => {
56
- it('should return the route fares daily schedule URL for the provided route', () => {
57
- expect((0, urls_1.dailyScheduleUrl)('HSB', 'LNG')).toBe(`${urls_1.baseUrl}/routes-fares/schedules/daily/HSB-LNG`);
58
- });
59
- it('should return the route fares daily schedule URL for the provided route and date', () => {
60
- expect((0, urls_1.dailyScheduleUrl)('HSB', 'LNG', '2025-01-02')).toBe(`${urls_1.baseUrl}/routes-fares/schedules/daily/HSB-LNG?scheduleDate=01/02/2025`);
61
- });
62
- });
63
- describe('seasonalScheduleUrl', () => {
64
- it('should return the route fares seasonal schedule URL for the provided route', () => {
65
- expect((0, urls_1.seasonalScheduleUrl)('HSB', 'LNG')).toBe(`${urls_1.baseUrl}/routes-fares/schedules/seasonal/HSB-LNG`);
66
- });
67
- });
68
- });
69
- //# sourceMappingURL=urls.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urls.test.js","sourceRoot":"","sources":["../../../../../src/lib/sources/bcf/tests/urls.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../../../src/lib/sources/bcf/tests/utils.test.ts"],"names":[],"mappings":""}
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const dayjs_1 = __importDefault(require("dayjs"));
7
- const config_1 = require("../config");
8
- const utils_1 = require("../utils");
9
- describe('utils', () => {
10
- const tzNow = (0, dayjs_1.default)().tz(config_1.tz);
11
- const nowDate = tzNow.format('YYYY-MM-DD');
12
- const tzOffset = tzNow.format('Z');
13
- function isoTimestamp(time, date = nowDate) {
14
- return `${date}T${time}${tzOffset}`;
15
- }
16
- function isoDate(date) {
17
- return isoTimestamp('00:00:00', date);
18
- }
19
- describe('parseTime', () => {
20
- it('parses HH:mm', () => {
21
- expect((0, utils_1.parseTime)('12:34').format()).toBe(isoTimestamp('12:34:00'));
22
- expect((0, utils_1.parseTime)('14:34').format()).toBe(isoTimestamp('14:34:00'));
23
- expect((0, utils_1.parseTime)('02:34').format()).toBe(isoTimestamp('02:34:00'));
24
- });
25
- it('parses hh:mmA', () => {
26
- expect((0, utils_1.parseTime)('12:34AM').format()).toBe(isoTimestamp('00:34:00'));
27
- expect((0, utils_1.parseTime)('04:34PM').format()).toBe(isoTimestamp('16:34:00'));
28
- expect((0, utils_1.parseTime)('02:34PM').format()).toBe(isoTimestamp('14:34:00'));
29
- });
30
- it('parses h:mmA', () => {
31
- expect((0, utils_1.parseTime)('12:34AM').format()).toBe(isoTimestamp('00:34:00'));
32
- expect((0, utils_1.parseTime)('4:34PM').format()).toBe(isoTimestamp('16:34:00'));
33
- expect((0, utils_1.parseTime)('2:34PM').format()).toBe(isoTimestamp('14:34:00'));
34
- });
35
- it('normalizes AM/PM to uppercase', () => {
36
- expect((0, utils_1.parseTime)('12:34am').format()).toBe(isoTimestamp('00:34:00'));
37
- expect((0, utils_1.parseTime)('4:34pm').format()).toBe(isoTimestamp('16:34:00'));
38
- expect((0, utils_1.parseTime)('2:34pm').format()).toBe(isoTimestamp('14:34:00'));
39
- });
40
- });
41
- describe('parseDate', () => {
42
- it('parses YYYY-MM-DD', () => {
43
- expect((0, utils_1.parseDate)('2025-01-01').format()).toBe(isoDate('2025-01-01'));
44
- });
45
- it('parses MM/DD/YYYY', () => {
46
- expect((0, utils_1.parseDate)('01/01/2025').format()).toBe(isoDate('2025-01-01'));
47
- });
48
- it('parses M/D/YYYY', () => {
49
- expect((0, utils_1.parseDate)('1/1/2025').format()).toBe(isoDate('2025-01-01'));
50
- });
51
- });
52
- describe('parseTimestamp', () => {
53
- it('parses YYYY-MM-DDTHH:mm:ss.SSSZ', () => {
54
- expect((0, utils_1.parseTimestamp)('2025-01-01T12:34:56.000Z').format()).toBe(isoTimestamp('04:34:56', '2025-01-01'));
55
- });
56
- it('parses YYYY-MM-DDTHH:mm:ss.SSS', () => {
57
- expect((0, utils_1.parseTimestamp)('2025-01-01T12:34:56.000').format()).toBe(isoTimestamp('12:34:56', '2025-01-01'));
58
- });
59
- it('parses YYYY-MM-DD HH:mm:ss.SSSZ', () => {
60
- expect((0, utils_1.parseTimestamp)('2025-01-01 12:34:56.000Z').format()).toBe(isoTimestamp('04:34:56', '2025-01-01'));
61
- });
62
- it('parses YYYY-MM-DD HH:mm:ss.SSS', () => {
63
- expect((0, utils_1.parseTimestamp)('2025-01-01 12:34:56.000').format()).toBe(isoTimestamp('12:34:56', '2025-01-01'));
64
- });
65
- it('can round trip with ISO 8601', () => {
66
- const timestamp = (0, dayjs_1.default)().toISOString();
67
- expect((0, utils_1.parseTimestamp)(timestamp).toISOString()).toBe(timestamp);
68
- });
69
- });
70
- describe('buildTimestamp', () => {
71
- it('builds a timestamp for the current date', () => {
72
- expect((0, utils_1.buildTimestamp)('12:34').format()).toBe(isoTimestamp('12:34:00'));
73
- });
74
- it('builds a timestamp for a specific date', () => {
75
- expect((0, utils_1.buildTimestamp)('12:34', '2025-01-01').format()).toBe(isoTimestamp('12:34:00', '2025-01-01'));
76
- });
77
- });
78
- });
79
- //# sourceMappingURL=utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../../src/lib/sources/bcf/tests/utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- declare namespace jest {
2
- interface Describe {
3
- if(condition: unknown, name: number | string | Function | jest.FunctionLike, fn: jest.EmptyFunction): void;
4
- unless: typeof describe.if;
5
- }
6
- interface It {
7
- if(condition: unknown, name: string, fn?: ProvidesCallback, timeout?: number): void;
8
- unless: typeof it.if;
9
- }
10
- }
11
- //# sourceMappingURL=jest-conditional.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jest-conditional.d.ts","sourceRoot":"","sources":["../../../src/lib/test/jest-conditional.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,IAAI,CAAC;IACrB,UAAU,QAAQ;QAChB,EAAE,CACA,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,EACpD,EAAE,EAAE,IAAI,CAAC,aAAa,GACrB,IAAI,CAAA;QACP,MAAM,EAAE,OAAO,QAAQ,CAAC,EAAE,CAAA;KAC3B;IAED,UAAU,EAAE;QACV,EAAE,CACA,SAAS,EAAE,OAAO,EAClB,IAAI,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,gBAAgB,EACrB,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAAA;QACP,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;KACrB;CACF"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- describe.if = (condition, name, fn) => {
3
- if (condition) {
4
- describe(name, fn);
5
- }
6
- };
7
- describe.unless = (condition, name, fn) => {
8
- if (!condition) {
9
- describe(name, fn);
10
- }
11
- };
12
- it.if = (condition, name, fn, timeout) => {
13
- if (condition) {
14
- it(name, fn, timeout);
15
- }
16
- };
17
- it.unless = (condition, name, fn, timeout) => {
18
- if (!condition) {
19
- it(name, fn, timeout);
20
- }
21
- };
22
- //# sourceMappingURL=jest-conditional.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jest-conditional.js","sourceRoot":"","sources":["../../../src/lib/test/jest-conditional.ts"],"names":[],"mappings":";AAqBA,QAAQ,CAAC,EAAE,GAAG,CACZ,SAAkB,EAClB,IAAoD,EACpD,EAAsB,EACtB,EAAE;IACF,IAAI,SAAS,EAAE,CAAC;QACd,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpB,CAAC;AACH,CAAC,CAAA;AACD,QAAQ,CAAC,MAAM,GAAG,CAChB,SAAkB,EAClB,IAAoD,EACpD,EAAsB,EACtB,EAAE;IACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpB,CAAC;AACH,CAAC,CAAA;AAED,EAAE,CAAC,EAAE,GAAG,CACN,SAAkB,EAClB,IAAY,EACZ,EAA0B,EAC1B,OAAgB,EAChB,EAAE;IACF,IAAI,SAAS,EAAE,CAAC;QACd,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IACvB,CAAC;AACH,CAAC,CAAA;AACD,EAAE,CAAC,MAAM,GAAG,CACV,SAAkB,EAClB,IAAY,EACZ,EAA0B,EAC1B,OAAgB,EAChB,EAAE;IACF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;IACvB,CAAC;AACH,CAAC,CAAA"}
@@ -1,2 +0,0 @@
1
- import './jest-conditional';
2
- //# sourceMappingURL=setup-jest-env.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup-jest-env.d.ts","sourceRoot":"","sources":["../../../src/lib/test/setup-jest-env.ts"],"names":[],"mappings":"AAGA,OAAO,oBAAoB,CAAA"}