@times-components/ts-components 1.145.1-cfea81c4084e6f91221ea00fec9fc730d5b933cb.4 → 1.145.1-e871182934034874ea6a75e1e684090e5504df44.2

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 (136) hide show
  1. package/dist/components/travel-mini-cta/index.d.ts +3 -0
  2. package/dist/components/travel-mini-cta/index.js +86 -0
  3. package/dist/components/travel-mini-cta/styles.d.ts +42 -0
  4. package/dist/components/travel-mini-cta/styles.js +273 -0
  5. package/dist/components/travel-mini-cta/travel-mini-cta.stories.d.ts +110 -0
  6. package/dist/components/travel-mini-cta/travel-mini-cta.stories.js +121 -0
  7. package/dist/components/travel-mini-cta/types.d.ts +10 -0
  8. package/dist/components/{trip-cards → travel-mini-cta}/types.js +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.js +2 -2
  11. package/dist/utils/applyDarkMode.d.ts +1 -0
  12. package/dist/utils/applyDarkMode.js +12 -0
  13. package/dist/utils/getMediaQuery.d.ts +11 -0
  14. package/dist/utils/getMediaQuery.js +19 -0
  15. package/dist/utils/index.d.ts +2 -0
  16. package/dist/utils/index.js +3 -0
  17. package/package.json +3 -3
  18. package/rnw.js +1 -1
  19. package/src/components/travel-mini-cta/index.tsx +164 -0
  20. package/src/components/travel-mini-cta/styles.ts +336 -0
  21. package/src/components/travel-mini-cta/travel-mini-cta.stories.tsx +157 -0
  22. package/src/components/travel-mini-cta/types.ts +10 -0
  23. package/src/index.ts +1 -2
  24. package/src/utils/applyDarkMode.ts +12 -0
  25. package/src/utils/getMediaQuery.ts +25 -0
  26. package/src/utils/index.ts +2 -0
  27. package/dist/components/carousel-component/CarouselComponent.stories.d.ts +0 -1
  28. package/dist/components/carousel-component/CarouselComponent.stories.js +0 -146
  29. package/dist/components/carousel-component/CarouselItem.d.ts +0 -3
  30. package/dist/components/carousel-component/CarouselItem.js +0 -11
  31. package/dist/components/carousel-component/DefaultNavigationArrow.d.ts +0 -8
  32. package/dist/components/carousel-component/DefaultNavigationArrow.js +0 -6
  33. package/dist/components/carousel-component/DefaultPageDot.d.ts +0 -8
  34. package/dist/components/carousel-component/DefaultPageDot.js +0 -4
  35. package/dist/components/carousel-component/__tests__/CarouselComponent.test.d.ts +0 -1
  36. package/dist/components/carousel-component/__tests__/CarouselComponent.test.js +0 -163
  37. package/dist/components/carousel-component/__tests__/CarouselItem.test.d.ts +0 -1
  38. package/dist/components/carousel-component/__tests__/CarouselItem.test.js +0 -80
  39. package/dist/components/carousel-component/__tests__/DefaultNavigationArrow.test.d.ts +0 -1
  40. package/dist/components/carousel-component/__tests__/DefaultNavigationArrow.test.js +0 -62
  41. package/dist/components/carousel-component/__tests__/DefaultPageDot.test.d.ts +0 -1
  42. package/dist/components/carousel-component/__tests__/DefaultPageDot.test.js +0 -68
  43. package/dist/components/carousel-component/hooks/__tests__/useCarousel.test.d.ts +0 -1
  44. package/dist/components/carousel-component/hooks/__tests__/useCarousel.test.js +0 -314
  45. package/dist/components/carousel-component/hooks/useCarousel.d.ts +0 -2
  46. package/dist/components/carousel-component/hooks/useCarousel.js +0 -140
  47. package/dist/components/carousel-component/index.d.ts +0 -4
  48. package/dist/components/carousel-component/index.js +0 -20
  49. package/dist/components/carousel-component/styles.d.ts +0 -30
  50. package/dist/components/carousel-component/styles.js +0 -120
  51. package/dist/components/carousel-component/types.d.ts +0 -46
  52. package/dist/components/carousel-component/types.js +0 -2
  53. package/dist/components/trip-cards/SkeletonCard.d.ts +0 -2
  54. package/dist/components/trip-cards/SkeletonCard.js +0 -21
  55. package/dist/components/trip-cards/TripCard.d.ts +0 -3
  56. package/dist/components/trip-cards/TripCard.js +0 -47
  57. package/dist/components/trip-cards/TripCards.stories.d.ts +0 -1
  58. package/dist/components/trip-cards/TripCards.stories.js +0 -40
  59. package/dist/components/trip-cards/TripCardsLayout.d.ts +0 -3
  60. package/dist/components/trip-cards/TripCardsLayout.js +0 -26
  61. package/dist/components/trip-cards/__tests__/SkeletonCard.test.d.ts +0 -1
  62. package/dist/components/trip-cards/__tests__/SkeletonCard.test.js +0 -139
  63. package/dist/components/trip-cards/__tests__/TripCard.test.d.ts +0 -1
  64. package/dist/components/trip-cards/__tests__/TripCard.test.js +0 -95
  65. package/dist/components/trip-cards/__tests__/TripCardsLayout.test.d.ts +0 -1
  66. package/dist/components/trip-cards/__tests__/TripCardsLayout.test.js +0 -277
  67. package/dist/components/trip-cards/__tests__/assets.test.d.ts +0 -1
  68. package/dist/components/trip-cards/__tests__/assets.test.js +0 -165
  69. package/dist/components/trip-cards/__tests__/helpers.test.d.ts +0 -1
  70. package/dist/components/trip-cards/__tests__/helpers.test.js +0 -135
  71. package/dist/components/trip-cards/__tests__/index.test.d.ts +0 -1
  72. package/dist/components/trip-cards/__tests__/index.test.js +0 -437
  73. package/dist/components/trip-cards/__tests__/mockData.test.d.ts +0 -1
  74. package/dist/components/trip-cards/__tests__/mockData.test.js +0 -57
  75. package/dist/components/trip-cards/__tests__/skeletonStyles.test.d.ts +0 -1
  76. package/dist/components/trip-cards/__tests__/skeletonStyles.test.js +0 -194
  77. package/dist/components/trip-cards/assets/BoatIcon.d.ts +0 -1
  78. package/dist/components/trip-cards/assets/BoatIcon.js +0 -4
  79. package/dist/components/trip-cards/assets/CalendarIcon.d.ts +0 -1
  80. package/dist/components/trip-cards/assets/CalendarIcon.js +0 -4
  81. package/dist/components/trip-cards/assets/ChevronRightIcon.d.ts +0 -1
  82. package/dist/components/trip-cards/assets/ChevronRightIcon.js +0 -4
  83. package/dist/components/trip-cards/assets/LocationIcon.d.ts +0 -1
  84. package/dist/components/trip-cards/assets/LocationIcon.js +0 -4
  85. package/dist/components/trip-cards/assets/MoonIcon.d.ts +0 -1
  86. package/dist/components/trip-cards/assets/MoonIcon.js +0 -4
  87. package/dist/components/trip-cards/assets/index.d.ts +0 -6
  88. package/dist/components/trip-cards/assets/index.js +0 -7
  89. package/dist/components/trip-cards/helpers.d.ts +0 -4
  90. package/dist/components/trip-cards/helpers.js +0 -74
  91. package/dist/components/trip-cards/index.d.ts +0 -4
  92. package/dist/components/trip-cards/index.js +0 -70
  93. package/dist/components/trip-cards/mockData.d.ts +0 -3
  94. package/dist/components/trip-cards/mockData.js +0 -323
  95. package/dist/components/trip-cards/skeletonStyles.d.ts +0 -9
  96. package/dist/components/trip-cards/skeletonStyles.js +0 -37
  97. package/dist/components/trip-cards/styles.d.ts +0 -39
  98. package/dist/components/trip-cards/styles.js +0 -387
  99. package/dist/components/trip-cards/types.d.ts +0 -87
  100. package/src/components/carousel-component/CarouselComponent.stories.tsx +0 -220
  101. package/src/components/carousel-component/CarouselItem.tsx +0 -20
  102. package/src/components/carousel-component/DefaultNavigationArrow.tsx +0 -37
  103. package/src/components/carousel-component/DefaultPageDot.tsx +0 -20
  104. package/src/components/carousel-component/__tests__/CarouselComponent.test.tsx +0 -259
  105. package/src/components/carousel-component/__tests__/CarouselItem.test.tsx +0 -140
  106. package/src/components/carousel-component/__tests__/DefaultNavigationArrow.test.tsx +0 -153
  107. package/src/components/carousel-component/__tests__/DefaultPageDot.test.tsx +0 -105
  108. package/src/components/carousel-component/hooks/__tests__/useCarousel.test.ts +0 -438
  109. package/src/components/carousel-component/hooks/useCarousel.ts +0 -187
  110. package/src/components/carousel-component/index.tsx +0 -88
  111. package/src/components/carousel-component/styles.ts +0 -140
  112. package/src/components/carousel-component/types.ts +0 -51
  113. package/src/components/trip-cards/SkeletonCard.tsx +0 -54
  114. package/src/components/trip-cards/TripCard.tsx +0 -135
  115. package/src/components/trip-cards/TripCards.stories.tsx +0 -67
  116. package/src/components/trip-cards/TripCardsLayout.tsx +0 -75
  117. package/src/components/trip-cards/__tests__/SkeletonCard.test.tsx +0 -169
  118. package/src/components/trip-cards/__tests__/TripCard.test.tsx +0 -120
  119. package/src/components/trip-cards/__tests__/TripCardsLayout.test.tsx +0 -532
  120. package/src/components/trip-cards/__tests__/assets.test.tsx +0 -206
  121. package/src/components/trip-cards/__tests__/helpers.test.ts +0 -165
  122. package/src/components/trip-cards/__tests__/index.test.tsx +0 -499
  123. package/src/components/trip-cards/__tests__/mockData.test.ts +0 -67
  124. package/src/components/trip-cards/__tests__/skeletonStyles.test.tsx +0 -256
  125. package/src/components/trip-cards/assets/BoatIcon.tsx +0 -17
  126. package/src/components/trip-cards/assets/CalendarIcon.tsx +0 -17
  127. package/src/components/trip-cards/assets/ChevronRightIcon.tsx +0 -20
  128. package/src/components/trip-cards/assets/LocationIcon.tsx +0 -17
  129. package/src/components/trip-cards/assets/MoonIcon.tsx +0 -17
  130. package/src/components/trip-cards/assets/index.ts +0 -7
  131. package/src/components/trip-cards/helpers.ts +0 -99
  132. package/src/components/trip-cards/index.tsx +0 -104
  133. package/src/components/trip-cards/mockData.ts +0 -351
  134. package/src/components/trip-cards/skeletonStyles.ts +0 -46
  135. package/src/components/trip-cards/styles.ts +0 -426
  136. package/src/components/trip-cards/types.ts +0 -91
@@ -1,437 +0,0 @@
1
- import React from 'react';
2
- import { render, screen, waitFor } from '@testing-library/react';
3
- import '@testing-library/jest-dom';
4
- import { TripCards } from '../index';
5
- import * as mockDataModule from '../mockData';
6
- global.fetch = jest.fn();
7
- describe('TripCards', () => {
8
- const mockCards = [
9
- {
10
- cruise_id: '1',
11
- image: 'image1.jpg',
12
- headline: 'Mock Cruise 1',
13
- date: 'Jan 2024',
14
- duration: '7 nights',
15
- route: 'Route 1',
16
- ship: 'Ship 1',
17
- price: '£1000',
18
- original_price: undefined,
19
- logo: 'logo1.png',
20
- logo_url: 'https://example.com',
21
- cta_url: 'link1',
22
- cta_text: 'View'
23
- },
24
- {
25
- cruise_id: '2',
26
- image: 'image2.jpg',
27
- headline: 'Mock Cruise 2',
28
- date: 'Feb 2024',
29
- duration: '14 nights',
30
- route: 'Route 2',
31
- ship: 'Ship 2',
32
- price: '£2000',
33
- original_price: undefined,
34
- logo: 'logo2.png',
35
- logo_url: 'https://example.com',
36
- cta_url: 'link2',
37
- cta_text: 'View'
38
- },
39
- {
40
- cruise_id: '3',
41
- image: 'image3.jpg',
42
- headline: 'Mock Cruise 3',
43
- date: 'Mar 2024',
44
- duration: '10 nights',
45
- route: 'Route 3',
46
- ship: 'Ship 3',
47
- price: '£1500',
48
- original_price: undefined,
49
- logo: 'logo3.png',
50
- logo_url: 'https://example.com',
51
- cta_url: 'link3',
52
- cta_text: 'View'
53
- }
54
- ];
55
- const mockElement = {
56
- title: 'Test Cruises',
57
- description: 'Test Description',
58
- tripcards: btoa(JSON.stringify([1, 2, 3])),
59
- titleUrl: 'https://example.com'
60
- };
61
- beforeEach(() => {
62
- jest.clearAllMocks();
63
- jest
64
- .spyOn(mockDataModule, 'getMockTripCards')
65
- .mockImplementation((count) => {
66
- return count ? mockCards.slice(0, count) : mockCards;
67
- });
68
- Object.defineProperty(window, 'innerWidth', {
69
- writable: true,
70
- configurable: true,
71
- value: 1024
72
- });
73
- });
74
- describe('Mock Data Mode', () => {
75
- it('renders cards when useMockData is true', async () => {
76
- render(React.createElement(TripCards, { element: mockElement, useMockData: true }));
77
- await waitFor(() => {
78
- expect(screen.getByText('Mock Cruise 1')).toBeInTheDocument();
79
- expect(screen.getByText('Mock Cruise 2')).toBeInTheDocument();
80
- });
81
- });
82
- it('renders title and description', async () => {
83
- render(React.createElement(TripCards, { element: mockElement, useMockData: true }));
84
- await waitFor(() => {
85
- expect(screen.getByText('Test Cruises')).toBeInTheDocument();
86
- expect(screen.getByText('Test Description')).toBeInTheDocument();
87
- });
88
- });
89
- it('respects the number of IDs', async () => {
90
- render(React.createElement(TripCards, { element: mockElement, useMockData: true }));
91
- await waitFor(() => {
92
- expect(mockDataModule.getMockTripCards).toHaveBeenCalledWith(3);
93
- });
94
- });
95
- });
96
- describe('Error Handling', () => {
97
- it('returns null when no IDs are provided', async () => {
98
- const emptyElement = {
99
- title: 'Test',
100
- description: 'Test',
101
- tripcards: '',
102
- titleUrl: undefined
103
- };
104
- const { container } = render(React.createElement(TripCards, { element: emptyElement }));
105
- await waitFor(() => {
106
- expect(container.firstChild).toBeNull();
107
- });
108
- });
109
- it('returns null when fetch fails', async () => {
110
- global.fetch.mockRejectedValue(new Error('Network error'));
111
- const { container } = render(React.createElement(TripCards, { element: mockElement }));
112
- await waitFor(() => {
113
- expect(container.firstChild).toBeNull();
114
- });
115
- });
116
- it('returns null when response is not ok', async () => {
117
- global.fetch.mockResolvedValue({
118
- ok: false,
119
- status: 404
120
- });
121
- const { container } = render(React.createElement(TripCards, { element: mockElement }));
122
- await waitFor(() => {
123
- expect(container.firstChild).toBeNull();
124
- });
125
- });
126
- it('returns null when API response format is invalid', async () => {
127
- global.fetch.mockResolvedValue({
128
- ok: true,
129
- json: async () => ({ invalid: 'data' })
130
- });
131
- const { container } = render(React.createElement(TripCards, { element: mockElement }));
132
- await waitFor(() => {
133
- expect(container.firstChild).toBeNull();
134
- });
135
- });
136
- });
137
- describe('API Data Fetching', () => {
138
- it('fetches and displays cruise data from API', async () => {
139
- const mockApiResponse = {
140
- results: [
141
- {
142
- post_id: 1,
143
- cruise_id: 1,
144
- cruise_title: 'API Cruise 1',
145
- cruise_line: {
146
- name: 'API Line',
147
- link: 'http://line.com',
148
- logo: 'logo.png'
149
- },
150
- ship: {
151
- name: 'API Ship',
152
- link: 'http://ship.com',
153
- image: 'api-image1.jpg'
154
- },
155
- departs: '2024-03-01',
156
- ends: '2024-03-11',
157
- date_label: 'March 2024',
158
- destination: ['Port 1', 'Port 3'],
159
- duration: 10,
160
- itinerary: ['Port 1', 'Port 2', 'Port 3'],
161
- prices: {
162
- cheapest_price: 1500,
163
- inside: 1500,
164
- outside: 1800,
165
- balcony: 2000,
166
- suite: 2500
167
- },
168
- was_prices: {
169
- cheapest_price: 2000,
170
- inside: 2000,
171
- outside: 2200,
172
- balcony: 2500,
173
- suite: 3000
174
- },
175
- link: 'api-link',
176
- campaigns: ['Special'],
177
- extras: {
178
- date: 'March 2024',
179
- duration: '10 nights',
180
- destination: 'Mediterranean',
181
- info: 'Additional info'
182
- }
183
- },
184
- {
185
- post_id: 2,
186
- cruise_id: 2,
187
- cruise_title: 'API Cruise 2',
188
- cruise_line: {
189
- name: 'API Line',
190
- link: 'http://line.com',
191
- logo: 'logo.png'
192
- },
193
- ship: {
194
- name: 'API Ship 2',
195
- link: 'http://ship.com',
196
- image: 'api-image2.jpg'
197
- },
198
- departs: '2024-04-01',
199
- ends: '2024-04-11',
200
- date_label: 'April 2024',
201
- destination: ['Port 2', 'Port 4'],
202
- duration: 10,
203
- itinerary: ['Port 2', 'Port 3', 'Port 4'],
204
- prices: {
205
- cheapest_price: 1600,
206
- inside: 1600,
207
- outside: 1900,
208
- balcony: 2100,
209
- suite: 2600
210
- },
211
- was_prices: {
212
- cheapest_price: 0,
213
- inside: 0,
214
- outside: 0,
215
- balcony: 0,
216
- suite: 0
217
- },
218
- link: 'api-link2',
219
- campaigns: [],
220
- extras: {
221
- date: 'April 2024',
222
- duration: '10 nights',
223
- destination: 'Caribbean',
224
- info: 'Additional info'
225
- }
226
- },
227
- {
228
- post_id: 3,
229
- cruise_id: 3,
230
- cruise_title: 'API Cruise 3',
231
- cruise_line: {
232
- name: 'API Line',
233
- link: 'http://line.com',
234
- logo: 'logo.png'
235
- },
236
- ship: {
237
- name: 'API Ship 3',
238
- link: 'http://ship.com',
239
- image: 'api-image3.jpg'
240
- },
241
- departs: '2024-05-01',
242
- ends: '2024-05-11',
243
- date_label: 'May 2024',
244
- destination: ['Port 3', 'Port 5'],
245
- duration: 10,
246
- itinerary: ['Port 3', 'Port 4', 'Port 5'],
247
- prices: {
248
- cheapest_price: 1700,
249
- inside: 1700,
250
- outside: 2000,
251
- balcony: 2200,
252
- suite: 2700
253
- },
254
- was_prices: {
255
- cheapest_price: 2100,
256
- inside: 2100,
257
- outside: 2400,
258
- balcony: 2600,
259
- suite: 3100
260
- },
261
- link: 'api-link3',
262
- campaigns: [],
263
- extras: {
264
- date: 'May 2024',
265
- duration: '10 nights',
266
- destination: 'Alaska',
267
- info: 'Additional info'
268
- }
269
- }
270
- ]
271
- };
272
- global.fetch.mockResolvedValue({
273
- ok: true,
274
- json: async () => mockApiResponse
275
- });
276
- render(React.createElement(TripCards, { element: mockElement }));
277
- await waitFor(() => {
278
- expect(screen.getByText('API Cruise 1')).toBeInTheDocument();
279
- });
280
- });
281
- it('sends correct request to API', async () => {
282
- const mockApiResponse = {
283
- results: mockCards.map((card, index) => ({
284
- post_id: index + 1,
285
- cruise_id: parseInt(card.cruise_id, 10),
286
- cruise_title: card.headline,
287
- cruise_line: {
288
- name: 'Test Line',
289
- link: card.logo_url,
290
- logo: card.logo
291
- },
292
- ship: {
293
- name: card.ship,
294
- link: 'http://ship.com',
295
- image: card.image
296
- },
297
- departs: '2024-01-01',
298
- ends: '2024-01-11',
299
- date_label: card.date,
300
- destination: ['Test Port'],
301
- duration: 10,
302
- itinerary: ['Port 1', 'Port 2', 'Port 3'],
303
- prices: {
304
- cheapest_price: 1500,
305
- inside: 1500,
306
- outside: 1800,
307
- balcony: 2000,
308
- suite: 2500
309
- },
310
- was_prices: {
311
- cheapest_price: 0,
312
- inside: 0,
313
- outside: 0,
314
- balcony: 0,
315
- suite: 0
316
- },
317
- link: card.cta_url,
318
- campaigns: [],
319
- extras: {
320
- date: card.date,
321
- duration: card.duration,
322
- destination: 'Test',
323
- info: 'Info'
324
- }
325
- }))
326
- };
327
- global.fetch.mockResolvedValue({
328
- ok: true,
329
- json: async () => mockApiResponse
330
- });
331
- render(React.createElement(TripCards, { element: mockElement }));
332
- await waitFor(() => {
333
- expect(global.fetch).toHaveBeenCalledWith('https://www.staging-thetimes.com/holidays/wp-admin/admin-ajax.php', expect.objectContaining({
334
- method: 'POST',
335
- body: expect.any(FormData)
336
- }));
337
- });
338
- });
339
- });
340
- describe('Layout', () => {
341
- it('uses static grid for exactly 2 cards', async () => {
342
- const twoCardElement = {
343
- ...mockElement,
344
- tripcards: btoa(JSON.stringify([1, 2]))
345
- };
346
- render(React.createElement(TripCards, { element: twoCardElement, useMockData: true }));
347
- await waitFor(() => {
348
- expect(screen.getByText('Mock Cruise 1')).toBeInTheDocument();
349
- });
350
- expect(screen.queryByLabelText('Previous items')).not.toBeInTheDocument();
351
- });
352
- it('uses carousel for more than 2 cards', async () => {
353
- const threeCards = [
354
- ...mockCards,
355
- {
356
- cruise_id: '3',
357
- image: 'image3.jpg',
358
- headline: 'Mock Cruise 3',
359
- date: 'Mar 2024',
360
- duration: '21 nights',
361
- route: 'Route 3',
362
- ship: 'Ship 3',
363
- price: '£3000',
364
- original_price: undefined,
365
- logo: 'logo3.png',
366
- logo_url: 'https://example.com',
367
- cta_url: 'link3',
368
- cta_text: 'View'
369
- }
370
- ];
371
- jest
372
- .spyOn(mockDataModule, 'getMockTripCards')
373
- .mockReturnValue(threeCards);
374
- render(React.createElement(TripCards, { element: mockElement, useMockData: true }));
375
- await waitFor(() => {
376
- expect(screen.getByText('Mock Cruise 1')).toBeInTheDocument();
377
- expect(screen.getByLabelText('Previous items')).toBeInTheDocument();
378
- expect(screen.getByLabelText('Next items')).toBeInTheDocument();
379
- });
380
- });
381
- });
382
- describe('Responsive Behavior', () => {
383
- it('handles window resize', () => {
384
- const { unmount } = render(React.createElement(TripCards, { element: mockElement, useMockData: true }));
385
- const removeEventListenerSpy = jest.spyOn(window, 'removeEventListener');
386
- unmount();
387
- expect(removeEventListenerSpy).toHaveBeenCalledWith('resize', expect.any(Function));
388
- });
389
- });
390
- describe('Props', () => {
391
- it('renders empty title when not provided', async () => {
392
- const elementWithoutTitle = {
393
- ...mockElement,
394
- title: undefined
395
- };
396
- render(React.createElement(TripCards, { element: elementWithoutTitle, useMockData: true }));
397
- await waitFor(() => {
398
- const titleElement = screen.getByTestId('trip-cards-title');
399
- expect(titleElement).toBeInTheDocument();
400
- expect(titleElement).toBeEmptyDOMElement();
401
- });
402
- });
403
- it('renders empty description when not provided', async () => {
404
- const elementWithoutDesc = {
405
- ...mockElement,
406
- description: undefined
407
- };
408
- render(React.createElement(TripCards, { element: elementWithoutDesc, useMockData: true }));
409
- await waitFor(() => {
410
- const descElement = screen.getByTestId('trip-cards-subtitle');
411
- expect(descElement).toBeInTheDocument();
412
- expect(descElement).toBeEmptyDOMElement();
413
- });
414
- });
415
- it('renders title link when provided', async () => {
416
- render(React.createElement(TripCards, { element: mockElement, useMockData: true }));
417
- await waitFor(() => {
418
- const link = screen.getByTestId('title-link');
419
- expect(link).toHaveAttribute('href', 'https://example.com');
420
- expect(link).toHaveAttribute('target', '_blank');
421
- });
422
- });
423
- it('does not render title link when not provided', async () => {
424
- const elementWithoutLink = {
425
- ...mockElement,
426
- titleUrl: undefined
427
- };
428
- render(React.createElement(TripCards, { element: elementWithoutLink, useMockData: true }));
429
- await waitFor(() => {
430
- expect(screen.getByText('Mock Cruise 1')).toBeInTheDocument();
431
- });
432
- const links = screen.getAllByRole('link');
433
- expect(links.length).toBeGreaterThan(0);
434
- });
435
- });
436
- });
437
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyaXAtY2FyZHMvX190ZXN0c19fL2luZGV4LnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFckMsT0FBTyxLQUFLLGNBQWMsTUFBTSxhQUFhLENBQUM7QUFFOUMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFekIsUUFBUSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7SUFDekIsTUFBTSxTQUFTLEdBQUc7UUFDaEI7WUFDRSxTQUFTLEVBQUUsR0FBRztZQUNkLEtBQUssRUFBRSxZQUFZO1lBQ25CLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxVQUFVO1lBQ3BCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLE9BQU87WUFDZCxjQUFjLEVBQUUsU0FBUztZQUN6QixJQUFJLEVBQUUsV0FBVztZQUNqQixRQUFRLEVBQUUscUJBQXFCO1lBQy9CLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxNQUFNO1NBQ2pCO1FBQ0Q7WUFDRSxTQUFTLEVBQUUsR0FBRztZQUNkLEtBQUssRUFBRSxZQUFZO1lBQ25CLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLE9BQU87WUFDZCxjQUFjLEVBQUUsU0FBUztZQUN6QixJQUFJLEVBQUUsV0FBVztZQUNqQixRQUFRLEVBQUUscUJBQXFCO1lBQy9CLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxNQUFNO1NBQ2pCO1FBQ0Q7WUFDRSxTQUFTLEVBQUUsR0FBRztZQUNkLEtBQUssRUFBRSxZQUFZO1lBQ25CLFFBQVEsRUFBRSxlQUFlO1lBQ3pCLElBQUksRUFBRSxVQUFVO1lBQ2hCLFFBQVEsRUFBRSxXQUFXO1lBQ3JCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxRQUFRO1lBQ2QsS0FBSyxFQUFFLE9BQU87WUFDZCxjQUFjLEVBQUUsU0FBUztZQUN6QixJQUFJLEVBQUUsV0FBVztZQUNqQixRQUFRLEVBQUUscUJBQXFCO1lBQy9CLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFFBQVEsRUFBRSxNQUFNO1NBQ2pCO0tBQ0YsQ0FBQztJQUVGLE1BQU0sV0FBVyxHQUFxQjtRQUNwQyxLQUFLLEVBQUUsY0FBYztRQUNyQixXQUFXLEVBQUUsa0JBQWtCO1FBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxRQUFRLEVBQUUscUJBQXFCO0tBQ2hDLENBQUM7SUFFRixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUk7YUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLGtCQUFrQixDQUFDO2FBQ3pDLGtCQUFrQixDQUFDLENBQUMsS0FBYyxFQUFFLEVBQUU7WUFDckMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQUM7UUFDTCxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUU7WUFDMUMsUUFBUSxFQUFFLElBQUk7WUFDZCxZQUFZLEVBQUUsSUFBSTtZQUNsQixLQUFLLEVBQUUsSUFBSTtTQUNaLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtRQUM5QixFQUFFLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDdEQsTUFBTSxDQUFDLG9CQUFDLFNBQVMsSUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEdBQUksQ0FBQyxDQUFDO1lBRS9ELE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUM5RCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3QyxNQUFNLENBQUMsb0JBQUMsU0FBUyxJQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBSSxDQUFDLENBQUM7WUFFL0QsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQzdELE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNEJBQTRCLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDMUMsTUFBTSxDQUFDLG9CQUFDLFNBQVMsSUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEdBQUksQ0FBQyxDQUFDO1lBRS9ELE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7UUFDOUIsRUFBRSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3JELE1BQU0sWUFBWSxHQUFxQjtnQkFDckMsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsV0FBVyxFQUFFLE1BQU07Z0JBQ25CLFNBQVMsRUFBRSxFQUFFO2dCQUNiLFFBQVEsRUFBRSxTQUFTO2FBQ3BCLENBQUM7WUFFRixNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDLG9CQUFDLFNBQVMsSUFBQyxPQUFPLEVBQUUsWUFBWSxHQUFJLENBQUMsQ0FBQztZQUVuRSxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM1QyxNQUFNLENBQUMsS0FBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBRTFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQUMsU0FBUyxJQUFDLE9BQU8sRUFBRSxXQUFXLEdBQUksQ0FBQyxDQUFDO1lBRWxFLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ25ELE1BQU0sQ0FBQyxLQUFtQixDQUFDLGlCQUFpQixDQUFDO2dCQUM1QyxFQUFFLEVBQUUsS0FBSztnQkFDVCxNQUFNLEVBQUUsR0FBRzthQUNaLENBQUMsQ0FBQztZQUVILE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQUMsU0FBUyxJQUFDLE9BQU8sRUFBRSxXQUFXLEdBQUksQ0FBQyxDQUFDO1lBRWxFLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtEQUFrRCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQy9ELE1BQU0sQ0FBQyxLQUFtQixDQUFDLGlCQUFpQixDQUFDO2dCQUM1QyxFQUFFLEVBQUUsSUFBSTtnQkFDUixJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO2FBQ3hDLENBQUMsQ0FBQztZQUVILE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUMsb0JBQUMsU0FBUyxJQUFDLE9BQU8sRUFBRSxXQUFXLEdBQUksQ0FBQyxDQUFDO1lBRWxFLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUN6RCxNQUFNLGVBQWUsR0FBRztnQkFDdEIsT0FBTyxFQUFFO29CQUNQO3dCQUNFLE9BQU8sRUFBRSxDQUFDO3dCQUNWLFNBQVMsRUFBRSxDQUFDO3dCQUNaLFlBQVksRUFBRSxjQUFjO3dCQUM1QixXQUFXLEVBQUU7NEJBQ1gsSUFBSSxFQUFFLFVBQVU7NEJBQ2hCLElBQUksRUFBRSxpQkFBaUI7NEJBQ3ZCLElBQUksRUFBRSxVQUFVO3lCQUNqQjt3QkFDRCxJQUFJLEVBQUU7NEJBQ0osSUFBSSxFQUFFLFVBQVU7NEJBQ2hCLElBQUksRUFBRSxpQkFBaUI7NEJBQ3ZCLEtBQUssRUFBRSxnQkFBZ0I7eUJBQ3hCO3dCQUNELE9BQU8sRUFBRSxZQUFZO3dCQUNyQixJQUFJLEVBQUUsWUFBWTt3QkFDbEIsVUFBVSxFQUFFLFlBQVk7d0JBQ3hCLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7d0JBQ2pDLFFBQVEsRUFBRSxFQUFFO3dCQUNaLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDO3dCQUN6QyxNQUFNLEVBQUU7NEJBQ04sY0FBYyxFQUFFLElBQUk7NEJBQ3BCLE1BQU0sRUFBRSxJQUFJOzRCQUNaLE9BQU8sRUFBRSxJQUFJOzRCQUNiLE9BQU8sRUFBRSxJQUFJOzRCQUNiLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELFVBQVUsRUFBRTs0QkFDVixjQUFjLEVBQUUsSUFBSTs0QkFDcEIsTUFBTSxFQUFFLElBQUk7NEJBQ1osT0FBTyxFQUFFLElBQUk7NEJBQ2IsT0FBTyxFQUFFLElBQUk7NEJBQ2IsS0FBSyxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQzt3QkFDdEIsTUFBTSxFQUFFOzRCQUNOLElBQUksRUFBRSxZQUFZOzRCQUNsQixRQUFRLEVBQUUsV0FBVzs0QkFDckIsV0FBVyxFQUFFLGVBQWU7NEJBQzVCLElBQUksRUFBRSxpQkFBaUI7eUJBQ3hCO3FCQUNGO29CQUNEO3dCQUNFLE9BQU8sRUFBRSxDQUFDO3dCQUNWLFNBQVMsRUFBRSxDQUFDO3dCQUNaLFlBQVksRUFBRSxjQUFjO3dCQUM1QixXQUFXLEVBQUU7NEJBQ1gsSUFBSSxFQUFFLFVBQVU7NEJBQ2hCLElBQUksRUFBRSxpQkFBaUI7NEJBQ3ZCLElBQUksRUFBRSxVQUFVO3lCQUNqQjt3QkFDRCxJQUFJLEVBQUU7NEJBQ0osSUFBSSxFQUFFLFlBQVk7NEJBQ2xCLElBQUksRUFBRSxpQkFBaUI7NEJBQ3ZCLEtBQUssRUFBRSxnQkFBZ0I7eUJBQ3hCO3dCQUNELE9BQU8sRUFBRSxZQUFZO3dCQUNyQixJQUFJLEVBQUUsWUFBWTt3QkFDbEIsVUFBVSxFQUFFLFlBQVk7d0JBQ3hCLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUM7d0JBQ2pDLFFBQVEsRUFBRSxFQUFFO3dCQUNaLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDO3dCQUN6QyxNQUFNLEVBQUU7NEJBQ04sY0FBYyxFQUFFLElBQUk7NEJBQ3BCLE1BQU0sRUFBRSxJQUFJOzRCQUNaLE9BQU8sRUFBRSxJQUFJOzRCQUNiLE9BQU8sRUFBRSxJQUFJOzRCQUNiLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELFVBQVUsRUFBRTs0QkFDVixjQUFjLEVBQUUsQ0FBQzs0QkFDakIsTUFBTSxFQUFFLENBQUM7NEJBQ1QsT0FBTyxFQUFFLENBQUM7NEJBQ1YsT0FBTyxFQUFFLENBQUM7NEJBQ1YsS0FBSyxFQUFFLENBQUM7eUJBQ1Q7d0JBQ0QsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLFNBQVMsRUFBRSxFQUFFO3dCQUNiLE1BQU0sRUFBRTs0QkFDTixJQUFJLEVBQUUsWUFBWTs0QkFDbEIsUUFBUSxFQUFFLFdBQVc7NEJBQ3JCLFdBQVcsRUFBRSxXQUFXOzRCQUN4QixJQUFJLEVBQUUsaUJBQWlCO3lCQUN4QjtxQkFDRjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsQ0FBQzt3QkFDVixTQUFTLEVBQUUsQ0FBQzt3QkFDWixZQUFZLEVBQUUsY0FBYzt3QkFDNUIsV0FBVyxFQUFFOzRCQUNYLElBQUksRUFBRSxVQUFVOzRCQUNoQixJQUFJLEVBQUUsaUJBQWlCOzRCQUN2QixJQUFJLEVBQUUsVUFBVTt5QkFDakI7d0JBQ0QsSUFBSSxFQUFFOzRCQUNKLElBQUksRUFBRSxZQUFZOzRCQUNsQixJQUFJLEVBQUUsaUJBQWlCOzRCQUN2QixLQUFLLEVBQUUsZ0JBQWdCO3lCQUN4Qjt3QkFDRCxPQUFPLEVBQUUsWUFBWTt3QkFDckIsSUFBSSxFQUFFLFlBQVk7d0JBQ2xCLFVBQVUsRUFBRSxVQUFVO3dCQUN0QixXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDO3dCQUNqQyxRQUFRLEVBQUUsRUFBRTt3QkFDWixTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQzt3QkFDekMsTUFBTSxFQUFFOzRCQUNOLGNBQWMsRUFBRSxJQUFJOzRCQUNwQixNQUFNLEVBQUUsSUFBSTs0QkFDWixPQUFPLEVBQUUsSUFBSTs0QkFDYixPQUFPLEVBQUUsSUFBSTs0QkFDYixLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRCxVQUFVLEVBQUU7NEJBQ1YsY0FBYyxFQUFFLElBQUk7NEJBQ3BCLE1BQU0sRUFBRSxJQUFJOzRCQUNaLE9BQU8sRUFBRSxJQUFJOzRCQUNiLE9BQU8sRUFBRSxJQUFJOzRCQUNiLEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNELElBQUksRUFBRSxXQUFXO3dCQUNqQixTQUFTLEVBQUUsRUFBRTt3QkFDYixNQUFNLEVBQUU7NEJBQ04sSUFBSSxFQUFFLFVBQVU7NEJBQ2hCLFFBQVEsRUFBRSxXQUFXOzRCQUNyQixXQUFXLEVBQUUsUUFBUTs0QkFDckIsSUFBSSxFQUFFLGlCQUFpQjt5QkFDeEI7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDO1lBRUQsTUFBTSxDQUFDLEtBQW1CLENBQUMsaUJBQWlCLENBQUM7Z0JBQzVDLEVBQUUsRUFBRSxJQUFJO2dCQUNSLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLGVBQWU7YUFDbEMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxDQUFDLG9CQUFDLFNBQVMsSUFBQyxPQUFPLEVBQUUsV0FBVyxHQUFJLENBQUMsQ0FBQztZQUU1QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvRCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDhCQUE4QixFQUFFLEtBQUssSUFBSSxFQUFFO1lBQzVDLE1BQU0sZUFBZSxHQUFHO2dCQUN0QixPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQ3ZDLE9BQU8sRUFBRSxLQUFLLEdBQUcsQ0FBQztvQkFDbEIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztvQkFDdkMsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUMzQixXQUFXLEVBQUU7d0JBQ1gsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUTt3QkFDbkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO3FCQUNoQjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO3dCQUNmLElBQUksRUFBRSxpQkFBaUI7d0JBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLFlBQVk7b0JBQ3JCLElBQUksRUFBRSxZQUFZO29CQUNsQixVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUk7b0JBQ3JCLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQztvQkFDMUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osU0FBUyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7b0JBQ3pDLE1BQU0sRUFBRTt3QkFDTixjQUFjLEVBQUUsSUFBSTt3QkFDcEIsTUFBTSxFQUFFLElBQUk7d0JBQ1osT0FBTyxFQUFFLElBQUk7d0JBQ2IsT0FBTyxFQUFFLElBQUk7d0JBQ2IsS0FBSyxFQUFFLElBQUk7cUJBQ1o7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWLGNBQWMsRUFBRSxDQUFDO3dCQUNqQixNQUFNLEVBQUUsQ0FBQzt3QkFDVCxPQUFPLEVBQUUsQ0FBQzt3QkFDVixPQUFPLEVBQUUsQ0FBQzt3QkFDVixLQUFLLEVBQUUsQ0FBQztxQkFDVDtvQkFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU87b0JBQ2xCLFNBQVMsRUFBRSxFQUFFO29CQUNiLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7d0JBQ2YsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO3dCQUN2QixXQUFXLEVBQUUsTUFBTTt3QkFDbkIsSUFBSSxFQUFFLE1BQU07cUJBQ2I7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0osQ0FBQztZQUVELE1BQU0sQ0FBQyxLQUFtQixDQUFDLGlCQUFpQixDQUFDO2dCQUM1QyxFQUFFLEVBQUUsSUFBSTtnQkFDUixJQUFJLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxlQUFlO2FBQ2xDLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxvQkFBQyxTQUFTLElBQUMsT0FBTyxFQUFFLFdBQVcsR0FBSSxDQUFDLENBQUM7WUFFNUMsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLG9CQUFvQixDQUN2QyxtRUFBbUUsRUFDbkUsTUFBTSxDQUFDLGdCQUFnQixDQUFDO29CQUN0QixNQUFNLEVBQUUsTUFBTTtvQkFDZCxJQUFJLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7aUJBQzNCLENBQUMsQ0FDSCxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDdEIsRUFBRSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3BELE1BQU0sY0FBYyxHQUFxQjtnQkFDdkMsR0FBRyxXQUFXO2dCQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3hDLENBQUM7WUFFRixNQUFNLENBQUMsb0JBQUMsU0FBUyxJQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBSSxDQUFDLENBQUM7WUFFbEUsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxQ0FBcUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNuRCxNQUFNLFVBQVUsR0FBRztnQkFDakIsR0FBRyxTQUFTO2dCQUNaO29CQUNFLFNBQVMsRUFBRSxHQUFHO29CQUNkLEtBQUssRUFBRSxZQUFZO29CQUNuQixRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFFBQVEsRUFBRSxXQUFXO29CQUNyQixLQUFLLEVBQUUsU0FBUztvQkFDaEIsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsS0FBSyxFQUFFLE9BQU87b0JBQ2QsY0FBYyxFQUFFLFNBQVM7b0JBQ3pCLElBQUksRUFBRSxXQUFXO29CQUNqQixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixPQUFPLEVBQUUsT0FBTztvQkFDaEIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCO2FBQ0YsQ0FBQztZQUVGLElBQUk7aUJBQ0QsS0FBSyxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQztpQkFDekMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRS9CLE1BQU0sQ0FBQyxvQkFBQyxTQUFTLElBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsSUFBSSxHQUFJLENBQUMsQ0FBQztZQUUvRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BFLE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUNsRSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMscUJBQXFCLEVBQUUsR0FBRyxFQUFFO1FBQ25DLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUU7WUFDL0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FDeEIsb0JBQUMsU0FBUyxJQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBSSxDQUN2RCxDQUFDO1lBRUYsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1lBRXpFLE9BQU8sRUFBRSxDQUFDO1lBRVYsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsb0JBQW9CLENBQ2pELFFBQVEsRUFDUixNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUNyQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ3JCLEVBQUUsQ0FBQyx1Q0FBdUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUNyRCxNQUFNLG1CQUFtQixHQUFxQjtnQkFDNUMsR0FBRyxXQUFXO2dCQUNkLEtBQUssRUFBRSxTQUFTO2FBQ2pCLENBQUM7WUFFRixNQUFNLENBQUMsb0JBQUMsU0FBUyxJQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsSUFBSSxHQUFJLENBQUMsQ0FBQztZQUV2RSxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDNUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3pDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdDLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDM0QsTUFBTSxrQkFBa0IsR0FBcUI7Z0JBQzNDLEdBQUcsV0FBVztnQkFDZCxXQUFXLEVBQUUsU0FBUzthQUN2QixDQUFDO1lBRUYsTUFBTSxDQUFDLG9CQUFDLFNBQVMsSUFBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBSSxDQUFDLENBQUM7WUFFdEUsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNqQixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLENBQUM7Z0JBQzlELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUN4QyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM1QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLGtDQUFrQyxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2hELE1BQU0sQ0FBQyxvQkFBQyxTQUFTLElBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsSUFBSSxHQUFJLENBQUMsQ0FBQztZQUUvRCxNQUFNLE9BQU8sQ0FBQyxHQUFHLEVBQUU7Z0JBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzlDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLHFCQUFxQixDQUFDLENBQUM7Z0JBQzVELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsS0FBSyxJQUFJLEVBQUU7WUFDNUQsTUFBTSxrQkFBa0IsR0FBcUI7Z0JBQzNDLEdBQUcsV0FBVztnQkFDZCxRQUFRLEVBQUUsU0FBUzthQUNwQixDQUFDO1lBRUYsTUFBTSxDQUFDLG9CQUFDLFNBQVMsSUFBQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBSSxDQUFDLENBQUM7WUFFdEUsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFFO2dCQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDaEUsQ0FBQyxDQUFDLENBQUM7WUFFSCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyJ9
@@ -1,57 +0,0 @@
1
- import { getMockTripCards, mockApiResults } from '../mockData';
2
- describe('mockData', () => {
3
- describe('mockApiResults', () => {
4
- it('contains 6 cruise results', () => {
5
- expect(mockApiResults).toHaveLength(6);
6
- });
7
- it('each result has required fields', () => {
8
- mockApiResults.forEach(result => {
9
- expect(result).toHaveProperty('cruise_id');
10
- expect(result).toHaveProperty('cruise_title');
11
- expect(result).toHaveProperty('cruise_line');
12
- expect(result).toHaveProperty('ship');
13
- expect(result).toHaveProperty('prices');
14
- expect(result).toHaveProperty('was_prices');
15
- expect(result).toHaveProperty('extras');
16
- });
17
- });
18
- it('extras object contains required fields', () => {
19
- mockApiResults.forEach(result => {
20
- expect(result.extras).toHaveProperty('date');
21
- expect(result.extras).toHaveProperty('duration');
22
- expect(result.extras).toHaveProperty('destination');
23
- expect(result.extras).toHaveProperty('info');
24
- });
25
- });
26
- });
27
- describe('getMockTripCards', () => {
28
- it('returns all transformed cards when no count specified', () => {
29
- const cards = getMockTripCards();
30
- expect(cards).toHaveLength(6);
31
- });
32
- it('returns specified number of cards', () => {
33
- const cards = getMockTripCards(3);
34
- expect(cards).toHaveLength(3);
35
- });
36
- it('returns transformed TripCardApiData objects', () => {
37
- const cards = getMockTripCards(1);
38
- expect(cards[0]).toHaveProperty('cruise_id');
39
- expect(cards[0]).toHaveProperty('image');
40
- expect(cards[0]).toHaveProperty('headline');
41
- expect(cards[0]).toHaveProperty('date');
42
- expect(cards[0]).toHaveProperty('duration');
43
- expect(cards[0]).toHaveProperty('route');
44
- expect(cards[0]).toHaveProperty('ship');
45
- expect(cards[0]).toHaveProperty('price');
46
- expect(cards[0]).toHaveProperty('logo');
47
- expect(cards[0]).toHaveProperty('logo_url');
48
- expect(cards[0]).toHaveProperty('cta_url');
49
- expect(cards[0]).toHaveProperty('cta_text');
50
- });
51
- it('cruise_id is converted to string', () => {
52
- const cards = getMockTripCards(1);
53
- expect(typeof cards[0].cruise_id).toBe('string');
54
- });
55
- });
56
- });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja0RhdGEudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3RyaXAtY2FyZHMvX190ZXN0c19fL21vY2tEYXRhLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvRCxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtJQUN4QixRQUFRLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO1FBQzlCLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUU7WUFDbkMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxpQ0FBaUMsRUFBRSxHQUFHLEVBQUU7WUFDekMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDOUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDM0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDOUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDN0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsRUFBRTtZQUNoRCxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0MsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQ2pELE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNwRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO1FBQ2hDLEVBQUUsQ0FBQyx1REFBdUQsRUFBRSxHQUFHLEVBQUU7WUFDL0QsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztZQUVqQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLG1DQUFtQyxFQUFFLEdBQUcsRUFBRTtZQUMzQyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDZDQUE2QyxFQUFFLEdBQUcsRUFBRTtZQUNyRCxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxHQUFHLEVBQUU7WUFDMUMsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbEMsTUFBTSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
@@ -1 +0,0 @@
1
- import '@testing-library/jest-dom';