@times-components/ts-components 1.145.1-cfea81c4084e6f91221ea00fec9fc730d5b933cb.4 → 1.145.1-d1253ed8e87e7cdf861fbf772a5f9026182434db.4

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/opta/cricket/scorecard/OptaCricketScorecard.js +10 -2
  2. package/dist/components/opta/cricket/scorecard/__tests__/OptaCricketScorecard.test.js +94 -17
  3. package/dist/components/opta/football/summary/OptaFootballSummary.js +10 -2
  4. package/dist/components/opta/football/summary/__tests__/OptaFootballSummary.test.js +95 -18
  5. package/dist/components/opta/rugby/summary/OptaRugbySummary.js +10 -2
  6. package/dist/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.js +94 -17
  7. package/dist/components/opta/utils/__tests__/emitEvent.test.js +264 -0
  8. package/dist/components/opta/utils/emitEvent.d.ts +1 -0
  9. package/dist/components/opta/utils/emitEvent.js +15 -0
  10. package/dist/index.d.ts +0 -1
  11. package/dist/index.js +1 -2
  12. package/package.json +3 -3
  13. package/rnw.js +1 -1
  14. package/src/components/opta/cricket/scorecard/OptaCricketScorecard.tsx +13 -0
  15. package/src/components/opta/cricket/scorecard/__tests__/OptaCricketScorecard.test.tsx +126 -16
  16. package/src/components/opta/cricket/scorecard/__tests__/__snapshots__/OptaCricketScorecard.test.tsx.snap +5 -6
  17. package/src/components/opta/football/summary/OptaFootballSummary.tsx +13 -0
  18. package/src/components/opta/football/summary/__tests__/OptaFootballSummary.test.tsx +127 -18
  19. package/src/components/opta/football/summary/__tests__/__snapshots__/OptaFootballSummary.test.tsx.snap +5 -6
  20. package/src/components/opta/rugby/summary/OptaRugbySummary.tsx +13 -0
  21. package/src/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.tsx +127 -17
  22. package/src/components/opta/rugby/summary/__tests__/__snapshots__/OptaRugbySummary.test.tsx.snap +5 -6
  23. package/src/components/opta/utils/__tests__/emitEvent.test.tsx +415 -0
  24. package/src/components/opta/utils/emitEvent.ts +20 -0
  25. package/src/index.ts +0 -2
  26. package/dist/components/carousel-component/CarouselComponent.stories.js +0 -146
  27. package/dist/components/carousel-component/CarouselItem.d.ts +0 -3
  28. package/dist/components/carousel-component/CarouselItem.js +0 -11
  29. package/dist/components/carousel-component/DefaultNavigationArrow.d.ts +0 -8
  30. package/dist/components/carousel-component/DefaultNavigationArrow.js +0 -6
  31. package/dist/components/carousel-component/DefaultPageDot.d.ts +0 -8
  32. package/dist/components/carousel-component/DefaultPageDot.js +0 -4
  33. package/dist/components/carousel-component/__tests__/CarouselComponent.test.d.ts +0 -1
  34. package/dist/components/carousel-component/__tests__/CarouselComponent.test.js +0 -163
  35. package/dist/components/carousel-component/__tests__/CarouselItem.test.d.ts +0 -1
  36. package/dist/components/carousel-component/__tests__/CarouselItem.test.js +0 -80
  37. package/dist/components/carousel-component/__tests__/DefaultNavigationArrow.test.d.ts +0 -1
  38. package/dist/components/carousel-component/__tests__/DefaultNavigationArrow.test.js +0 -62
  39. package/dist/components/carousel-component/__tests__/DefaultPageDot.test.d.ts +0 -1
  40. package/dist/components/carousel-component/__tests__/DefaultPageDot.test.js +0 -68
  41. package/dist/components/carousel-component/hooks/__tests__/useCarousel.test.d.ts +0 -1
  42. package/dist/components/carousel-component/hooks/__tests__/useCarousel.test.js +0 -314
  43. package/dist/components/carousel-component/hooks/useCarousel.d.ts +0 -2
  44. package/dist/components/carousel-component/hooks/useCarousel.js +0 -140
  45. package/dist/components/carousel-component/index.d.ts +0 -4
  46. package/dist/components/carousel-component/index.js +0 -20
  47. package/dist/components/carousel-component/styles.d.ts +0 -30
  48. package/dist/components/carousel-component/styles.js +0 -120
  49. package/dist/components/carousel-component/types.d.ts +0 -46
  50. package/dist/components/carousel-component/types.js +0 -2
  51. package/dist/components/trip-cards/SkeletonCard.d.ts +0 -2
  52. package/dist/components/trip-cards/SkeletonCard.js +0 -21
  53. package/dist/components/trip-cards/TripCard.d.ts +0 -3
  54. package/dist/components/trip-cards/TripCard.js +0 -47
  55. package/dist/components/trip-cards/TripCards.stories.d.ts +0 -1
  56. package/dist/components/trip-cards/TripCards.stories.js +0 -40
  57. package/dist/components/trip-cards/TripCardsLayout.d.ts +0 -3
  58. package/dist/components/trip-cards/TripCardsLayout.js +0 -26
  59. package/dist/components/trip-cards/__tests__/SkeletonCard.test.d.ts +0 -1
  60. package/dist/components/trip-cards/__tests__/SkeletonCard.test.js +0 -139
  61. package/dist/components/trip-cards/__tests__/TripCard.test.d.ts +0 -1
  62. package/dist/components/trip-cards/__tests__/TripCard.test.js +0 -95
  63. package/dist/components/trip-cards/__tests__/TripCardsLayout.test.d.ts +0 -1
  64. package/dist/components/trip-cards/__tests__/TripCardsLayout.test.js +0 -277
  65. package/dist/components/trip-cards/__tests__/assets.test.d.ts +0 -1
  66. package/dist/components/trip-cards/__tests__/assets.test.js +0 -165
  67. package/dist/components/trip-cards/__tests__/helpers.test.d.ts +0 -1
  68. package/dist/components/trip-cards/__tests__/helpers.test.js +0 -135
  69. package/dist/components/trip-cards/__tests__/index.test.d.ts +0 -1
  70. package/dist/components/trip-cards/__tests__/index.test.js +0 -437
  71. package/dist/components/trip-cards/__tests__/mockData.test.d.ts +0 -1
  72. package/dist/components/trip-cards/__tests__/mockData.test.js +0 -57
  73. package/dist/components/trip-cards/__tests__/skeletonStyles.test.d.ts +0 -1
  74. package/dist/components/trip-cards/__tests__/skeletonStyles.test.js +0 -194
  75. package/dist/components/trip-cards/assets/BoatIcon.d.ts +0 -1
  76. package/dist/components/trip-cards/assets/BoatIcon.js +0 -4
  77. package/dist/components/trip-cards/assets/CalendarIcon.d.ts +0 -1
  78. package/dist/components/trip-cards/assets/CalendarIcon.js +0 -4
  79. package/dist/components/trip-cards/assets/ChevronRightIcon.d.ts +0 -1
  80. package/dist/components/trip-cards/assets/ChevronRightIcon.js +0 -4
  81. package/dist/components/trip-cards/assets/LocationIcon.d.ts +0 -1
  82. package/dist/components/trip-cards/assets/LocationIcon.js +0 -4
  83. package/dist/components/trip-cards/assets/MoonIcon.d.ts +0 -1
  84. package/dist/components/trip-cards/assets/MoonIcon.js +0 -4
  85. package/dist/components/trip-cards/assets/index.d.ts +0 -6
  86. package/dist/components/trip-cards/assets/index.js +0 -7
  87. package/dist/components/trip-cards/helpers.d.ts +0 -4
  88. package/dist/components/trip-cards/helpers.js +0 -74
  89. package/dist/components/trip-cards/index.d.ts +0 -4
  90. package/dist/components/trip-cards/index.js +0 -70
  91. package/dist/components/trip-cards/mockData.d.ts +0 -3
  92. package/dist/components/trip-cards/mockData.js +0 -323
  93. package/dist/components/trip-cards/skeletonStyles.d.ts +0 -9
  94. package/dist/components/trip-cards/skeletonStyles.js +0 -37
  95. package/dist/components/trip-cards/styles.d.ts +0 -39
  96. package/dist/components/trip-cards/styles.js +0 -387
  97. package/dist/components/trip-cards/types.d.ts +0 -87
  98. package/dist/components/trip-cards/types.js +0 -2
  99. package/src/components/carousel-component/CarouselComponent.stories.tsx +0 -220
  100. package/src/components/carousel-component/CarouselItem.tsx +0 -20
  101. package/src/components/carousel-component/DefaultNavigationArrow.tsx +0 -37
  102. package/src/components/carousel-component/DefaultPageDot.tsx +0 -20
  103. package/src/components/carousel-component/__tests__/CarouselComponent.test.tsx +0 -259
  104. package/src/components/carousel-component/__tests__/CarouselItem.test.tsx +0 -140
  105. package/src/components/carousel-component/__tests__/DefaultNavigationArrow.test.tsx +0 -153
  106. package/src/components/carousel-component/__tests__/DefaultPageDot.test.tsx +0 -105
  107. package/src/components/carousel-component/hooks/__tests__/useCarousel.test.ts +0 -438
  108. package/src/components/carousel-component/hooks/useCarousel.ts +0 -187
  109. package/src/components/carousel-component/index.tsx +0 -88
  110. package/src/components/carousel-component/styles.ts +0 -140
  111. package/src/components/carousel-component/types.ts +0 -51
  112. package/src/components/trip-cards/SkeletonCard.tsx +0 -54
  113. package/src/components/trip-cards/TripCard.tsx +0 -135
  114. package/src/components/trip-cards/TripCards.stories.tsx +0 -67
  115. package/src/components/trip-cards/TripCardsLayout.tsx +0 -75
  116. package/src/components/trip-cards/__tests__/SkeletonCard.test.tsx +0 -169
  117. package/src/components/trip-cards/__tests__/TripCard.test.tsx +0 -120
  118. package/src/components/trip-cards/__tests__/TripCardsLayout.test.tsx +0 -532
  119. package/src/components/trip-cards/__tests__/assets.test.tsx +0 -206
  120. package/src/components/trip-cards/__tests__/helpers.test.ts +0 -165
  121. package/src/components/trip-cards/__tests__/index.test.tsx +0 -499
  122. package/src/components/trip-cards/__tests__/mockData.test.ts +0 -67
  123. package/src/components/trip-cards/__tests__/skeletonStyles.test.tsx +0 -256
  124. package/src/components/trip-cards/assets/BoatIcon.tsx +0 -17
  125. package/src/components/trip-cards/assets/CalendarIcon.tsx +0 -17
  126. package/src/components/trip-cards/assets/ChevronRightIcon.tsx +0 -20
  127. package/src/components/trip-cards/assets/LocationIcon.tsx +0 -17
  128. package/src/components/trip-cards/assets/MoonIcon.tsx +0 -17
  129. package/src/components/trip-cards/assets/index.ts +0 -7
  130. package/src/components/trip-cards/helpers.ts +0 -99
  131. package/src/components/trip-cards/index.tsx +0 -104
  132. package/src/components/trip-cards/mockData.ts +0 -351
  133. package/src/components/trip-cards/skeletonStyles.ts +0 -46
  134. package/src/components/trip-cards/styles.ts +0 -426
  135. package/src/components/trip-cards/types.ts +0 -91
  136. /package/dist/components/{carousel-component/CarouselComponent.stories.d.ts → opta/utils/__tests__/emitEvent.test.d.ts} +0 -0
@@ -4,8 +4,10 @@ import { initSettings, initStyleSheet, initScript, initElement, initComponent }
4
4
  import { Container, PlaceholderContainer } from '../../shared/shared-styles';
5
5
  import { WidgetContainer } from './styles';
6
6
  import Button from '../../shared/button/Button';
7
+ import { emitEvent } from '../../utils/emitEvent';
7
8
  export const OptaCricketScorecard = React.memo(({ competition, match, full_width, heightSm = 258, heightMd = 258, heightLg = 258 }) => {
8
9
  const ref = React.createRef();
10
+ const containerRef = React.createRef();
9
11
  const [isReady, setIsReady] = useState(false);
10
12
  const [showDetails, setShowDetails] = useState(false);
11
13
  useEffect(() => {
@@ -52,10 +54,16 @@ export const OptaCricketScorecard = React.memo(({ competition, match, full_width
52
54
  setIsReady(true);
53
55
  });
54
56
  }, []);
55
- return (React.createElement(Container, { fullWidth: full_width, heightSm: heightSm, heightMd: heightMd, heightLg: heightLg, hasPadding: true },
57
+ useEffect(() => {
58
+ const height = containerRef.current
59
+ ? containerRef.current.offsetHeight
60
+ : 0;
61
+ emitEvent('updateHeight', height);
62
+ }, [showDetails]);
63
+ return (React.createElement(Container, { fullWidth: full_width, heightSm: heightSm, heightMd: heightMd, heightLg: heightLg, hasPadding: true, ref: containerRef },
56
64
  React.createElement(WidgetContainer, { ref: ref, showDetails: showDetails }),
57
65
  React.createElement(Button, { onClick: () => setShowDetails(!showDetails) }, showDetails ? 'Hide Details' : 'Show Details'),
58
66
  !isReady && (React.createElement(PlaceholderContainer, null,
59
67
  React.createElement(Placeholder, null)))));
60
68
  });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUNyaWNrZXRTY29yZWNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL2NyaWNrZXQvc2NvcmVjYXJkL09wdGFDcmlja2V0U2NvcmVjYXJkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxNQUFNLE1BQU0sNEJBQTRCLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBTzVCLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUNDLFdBQVcsRUFDWCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsR0FBRyxHQUFHLEVBQ2QsUUFBUSxHQUFHLEdBQUcsRUFDZCxRQUFRLEdBQUcsR0FBRyxFQUNmLEVBQUUsRUFBRTtJQUNILE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFDOUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFL0QsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUV4QixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixVQUFVLEVBQUU7YUFDVCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2pELEtBQUs7b0JBQ0wsTUFBTSxFQUFFLFlBQVk7b0JBQ3BCLE1BQU0sRUFBRSxHQUFHO29CQUNYLFdBQVc7b0JBQ1gsS0FBSztvQkFDTCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsSUFBSSxFQUFFLElBQUk7b0JBQ1YsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLHFCQUFxQixFQUFFLElBQUk7b0JBQzNCLHNCQUFzQixFQUFFLElBQUk7b0JBQzVCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRSxZQUFZO29CQUN6QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLEtBQUs7b0JBQ3JCLFNBQVMsRUFBRSxLQUFLO29CQUNoQixrQkFBa0IsRUFBRSxJQUFJO29CQUN4QixVQUFVLEVBQUUsTUFBTTtvQkFDbEIsWUFBWSxFQUFFLElBQUk7b0JBQ2xCLGdCQUFnQixFQUFFLEtBQUs7b0JBQ3ZCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsWUFBWSxFQUFFLElBQUk7b0JBQ2xCLFlBQVksRUFBRSxJQUFJO29CQUNsQixRQUFRLEVBQUUsSUFBSTtvQkFDZCxhQUFhLEVBQUUsTUFBTTtvQkFDckIsV0FBVyxFQUFFLEtBQUs7aUJBQ25CLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7YUFDakI7UUFDSCxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFDUixTQUFTLEVBQUUsVUFBVSxFQUNyQixRQUFRLEVBQUUsUUFBUSxFQUNsQixRQUFRLEVBQUUsUUFBUSxFQUNsQixRQUFRLEVBQUUsUUFBUSxFQUNsQixVQUFVO1FBRVYsb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsR0FBSTtRQUV2RCxvQkFBQyxNQUFNLElBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUN2QztRQUVSLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUNyaWNrZXRTY29yZWNhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL2NyaWNrZXQvc2NvcmVjYXJkL09wdGFDcmlja2V0U2NvcmVjYXJkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0MsT0FBTyxNQUFNLE1BQU0sNEJBQTRCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQU81QixLQUFLLENBQUMsSUFBSSxDQUNiLENBQUMsRUFDQyxXQUFXLEVBQ1gsS0FBSyxFQUNMLFVBQVUsRUFDVixRQUFRLEdBQUcsR0FBRyxFQUNkLFFBQVEsR0FBRyxHQUFHLEVBQ2QsUUFBUSxHQUFHLEdBQUcsRUFDZixFQUFFLEVBQUU7SUFDSCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFDdkQsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsR0FBRyxR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
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { render, act, fireEvent } from '@testing-library/react';
2
+ import { render, act, fireEvent, waitFor } from '@testing-library/react';
3
3
  import 'regenerator-runtime';
4
4
  import '@testing-library/jest-dom';
5
5
  jest.mock('@times-components/image', () => ({
@@ -8,19 +8,23 @@ jest.mock('@times-components/image', () => ({
8
8
  const mockInitSettings = jest.fn();
9
9
  const mockInitStyleSheet = jest.fn();
10
10
  const mockInitComponent = jest.fn();
11
- const mockHasMatchEvents = jest.fn();
12
- const mockInitElement = () => {
11
+ const mockInitScript = jest.fn();
12
+ const mockEmitEvent = jest.fn();
13
+ const mockInitElement = jest.fn(() => {
13
14
  const element = document.createElement('div');
14
15
  element.appendChild(document.createTextNode('Widget'));
15
16
  return element;
16
- };
17
+ });
17
18
  jest.mock('../../../utils/config', () => ({
18
19
  initSettings: mockInitSettings,
19
20
  initStyleSheet: mockInitStyleSheet,
20
- initScript: () => new Promise(resolve => resolve({})),
21
+ initScript: mockInitScript,
21
22
  initElement: mockInitElement,
22
23
  initComponent: mockInitComponent
23
24
  }));
25
+ jest.mock('../../../utils/emitEvent', () => ({
26
+ emitEvent: mockEmitEvent
27
+ }));
24
28
  import { OptaCricketScorecard } from '../OptaCricketScorecard';
25
29
  const requiredProps = {
26
30
  competition: '2722',
@@ -29,16 +33,20 @@ const requiredProps = {
29
33
  describe('OptaCricketScorecard', () => {
30
34
  beforeEach(() => {
31
35
  jest.clearAllMocks();
36
+ mockInitScript.mockResolvedValue({});
37
+ });
38
+ afterEach(() => {
39
+ jest.clearAllMocks();
40
+ document.body.innerHTML = '';
32
41
  });
33
42
  it('should render correctly', async () => {
34
- const { asFragment } = render(React.createElement(OptaCricketScorecard, Object.assign({}, requiredProps)));
35
- act(() => {
36
- mockInitComponent();
37
- mockHasMatchEvents();
43
+ const { asFragment, getByRole } = render(React.createElement(OptaCricketScorecard, Object.assign({}, requiredProps)));
44
+ await waitFor(() => {
45
+ expect(mockInitSettings).toHaveBeenCalledTimes(1);
38
46
  });
39
- expect(mockInitSettings).toHaveBeenCalledTimes(1);
40
- expect(mockInitStyleSheet).toHaveBeenCalledTimes(1);
47
+ expect(mockInitStyleSheet).toHaveBeenCalledWith('cricket');
41
48
  expect(mockInitComponent).toHaveBeenCalledTimes(1);
49
+ expect(getByRole('button')).toBeInTheDocument();
42
50
  expect(asFragment()).toMatchSnapshot();
43
51
  });
44
52
  it('should enable the button initially', () => {
@@ -46,14 +54,83 @@ describe('OptaCricketScorecard', () => {
46
54
  const button = getByRole('button');
47
55
  expect(button).not.toBeDisabled();
48
56
  });
49
- it('should toggle details when button is clicked', () => {
57
+ it('should toggle details when button is clicked', async () => {
50
58
  const { getByRole } = render(React.createElement(OptaCricketScorecard, Object.assign({}, requiredProps)));
51
59
  const button = getByRole('button');
52
60
  expect(button).toHaveTextContent('Show Details');
53
- fireEvent.click(button);
54
- expect(button).toHaveTextContent('Hide Details');
55
- fireEvent.click(button);
56
- expect(button).toHaveTextContent('Show Details');
61
+ act(() => {
62
+ fireEvent.click(button);
63
+ });
64
+ await waitFor(() => {
65
+ expect(button).toHaveTextContent('Hide Details');
66
+ });
67
+ act(() => {
68
+ fireEvent.click(button);
69
+ });
70
+ await waitFor(() => {
71
+ expect(button).toHaveTextContent('Show Details');
72
+ });
73
+ });
74
+ describe('emitEvent', () => {
75
+ it('should call emitEvent with updateHeight when details are toggled', async () => {
76
+ const { getByRole } = render(React.createElement(OptaCricketScorecard, Object.assign({}, requiredProps)));
77
+ const button = getByRole('button');
78
+ // Clear initial calls
79
+ jest.clearAllMocks();
80
+ act(() => {
81
+ fireEvent.click(button);
82
+ });
83
+ await waitFor(() => {
84
+ expect(mockEmitEvent).toHaveBeenCalledWith('updateHeight', expect.any(Number));
85
+ });
86
+ });
87
+ it('should emit updateHeight event on each toggle', async () => {
88
+ const { getByRole } = render(React.createElement(OptaCricketScorecard, Object.assign({}, requiredProps)));
89
+ const button = getByRole('button');
90
+ // Clear initial calls
91
+ jest.clearAllMocks();
92
+ // First toggle
93
+ act(() => {
94
+ fireEvent.click(button);
95
+ });
96
+ await waitFor(() => {
97
+ expect(mockEmitEvent).toHaveBeenCalledTimes(1);
98
+ });
99
+ // Second toggle
100
+ act(() => {
101
+ fireEvent.click(button);
102
+ });
103
+ await waitFor(() => {
104
+ expect(mockEmitEvent).toHaveBeenCalledTimes(2);
105
+ });
106
+ // Third toggle
107
+ act(() => {
108
+ fireEvent.click(button);
109
+ });
110
+ await waitFor(() => {
111
+ expect(mockEmitEvent).toHaveBeenCalledTimes(3);
112
+ });
113
+ });
114
+ it('should emit updateHeight with container offsetHeight', async () => {
115
+ const { getByRole, container } = render(React.createElement(OptaCricketScorecard, Object.assign({}, requiredProps)));
116
+ const button = getByRole('button');
117
+ // Clear initial calls
118
+ jest.clearAllMocks();
119
+ // Mock offsetHeight
120
+ const containerElement = container.querySelector('[class*="Container"]');
121
+ if (containerElement) {
122
+ Object.defineProperty(containerElement, 'offsetHeight', {
123
+ value: 300,
124
+ configurable: true
125
+ });
126
+ }
127
+ act(() => {
128
+ fireEvent.click(button);
129
+ });
130
+ await waitFor(() => {
131
+ expect(mockEmitEvent).toHaveBeenCalledWith('updateHeight', expect.any(Number));
132
+ });
133
+ });
57
134
  });
58
135
  });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUNyaWNrZXRTY29yZWNhcmQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvY3JpY2tldC9zY29yZWNhcmQvX190ZXN0c19fL09wdGFDcmlja2V0U2NvcmVjYXJkLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sMkJBQTJCLENBQUM7QUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3REFBZ0I7Q0FDcEMsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNuQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVyQyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEMs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
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUNyaWNrZXRTY29yZWNhcmQudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvY3JpY2tldC9zY29yZWNhcmQvX190ZXN0c19fL09wdGFDcmlja2V0U2NvcmVjYXJkLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLDJCQUEyQixDQUFDO0FBRW5DLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsd0RBQWdCO0NBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBRUosTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDcEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ2pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sT0FBTyxDQUFDO0FBQ2pC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
@@ -4,8 +4,10 @@ import { initSettings, initStyleSheet, initScript, initElement, initComponent }
4
4
  import { Container, PlaceholderContainer } from '../../shared/shared-styles';
5
5
  import { WidgetContainer } from '../../shared/summary-styles';
6
6
  import Button from '../../shared/button/Button';
7
+ import { emitEvent } from '../../utils/emitEvent';
7
8
  export const OptaFootballSummary = React.memo(({ season, competition, match, full_width, heightSm = 197, heightMd = 197, heightLg = 197 }) => {
8
9
  const ref = React.createRef();
10
+ const containerRef = React.createRef();
9
11
  const [isReady, setIsReady] = useState(false);
10
12
  const [showDetails, setShowDetails] = useState(false);
11
13
  useEffect(() => {
@@ -39,10 +41,16 @@ export const OptaFootballSummary = React.memo(({ season, competition, match, ful
39
41
  setIsReady(true);
40
42
  });
41
43
  }, []);
42
- return (React.createElement(Container, { fullWidth: full_width, heightSm: heightSm, heightMd: heightMd, heightLg: heightLg, hasPadding: true },
44
+ useEffect(() => {
45
+ const height = containerRef.current
46
+ ? containerRef.current.offsetHeight
47
+ : 0;
48
+ emitEvent('updateHeight', height);
49
+ }, [showDetails]);
50
+ return (React.createElement(Container, { fullWidth: full_width, heightSm: heightSm, heightMd: heightMd, heightLg: heightLg, hasPadding: true, ref: containerRef },
43
51
  React.createElement(WidgetContainer, { ref: ref, showDetails: showDetails }),
44
52
  React.createElement(Button, { onClick: () => setShowDetails(!showDetails) }, showDetails ? 'Hide Details' : 'Show Details'),
45
53
  !isReady && (React.createElement(PlaceholderContainer, null,
46
54
  React.createElement(Placeholder, null)))));
47
55
  });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsU3VtbWFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvc3VtbWFyeS9PcHRhRm9vdGJhbGxTdW1tYXJ5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLE1BQU0sTUFBTSw0QkFBNEIsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FRM0IsS0FBSyxDQUFDLElBQUksQ0FDYixDQUFDLEVBQ0MsTUFBTSxFQUNOLFdBQVcsRUFDWCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsR0FBRyxHQUFHLEVBQ2QsUUFBUSxHQUFHLEdBQUcsRUFDZCxRQUFRLEdBQUcsR0FBRyxFQUNmLEVBQUUsRUFBRTtJQUNILE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFDOUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFL0QsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUV6QixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixVQUFVLEVBQUU7YUFDVCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2pELEtBQUs7b0JBQ0wsTUFBTSxFQUFFLGVBQWU7b0JBQ3ZCLE1BQU07b0JBQ04sV0FBVztvQkFDWCxLQUFLO29CQUNMLElBQUksRUFBRSxJQUFJO29CQUNWLGlCQUFpQixFQUFFLElBQUk7b0JBQ3ZCLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLHFCQUFxQixFQUFFLElBQUk7b0JBQzNCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRSxJQUFJO29CQUNqQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFdBQVcsRUFBRSxZQUFZO29CQUN6QixXQUFXLEVBQUUsS0FBSztpQkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFFYixhQUFhLEVBQUUsQ0FBQzthQUNqQjtRQUNILENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLENBQ0wsb0JBQUMsU0FBUyxJQUNSLFNBQVMsRUFBRSxVQUFVLEVBQ3JCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFVBQVU7UUFFVixvQkFBQyxlQUFlLElBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFJO1FBRXZELG9CQUFDLE1BQU0sSUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQ2hELFdBQVcsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQ3ZDO1FBRVIsQ0FBQyxPQUFPLElBQUksQ0FDWCxvQkFBQyxvQkFBb0I7WUFDbkIsb0JBQUMsV0FBVyxPQUFHLENBQ00sQ0FDeEIsQ0FDUyxDQUNiLENBQUM7QUFDSixDQUFDLENBQ0YsQ0FBQyJ9
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsU3VtbWFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvc3VtbWFyeS9PcHRhRm9vdGJhbGxTdW1tYXJ5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLE1BQU0sTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBUTNCLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUNDLE1BQU0sRUFDTixXQUFXLEVBQ1gsS0FBSyxFQUNMLFVBQVUsRUFDVixRQUFRLEdBQUcsR0FBRyxFQUNkLFFBQVEsR0FBRyxHQUFHLEVBQ2QsUUFBUSxHQUFHLEdBQUcsRUFDZixFQUFFLEVBQUU7SUFDSCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFDdkQsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFL0QsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUV6QixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixVQUFVLEVBQUU7YUFDVCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2pELEtBQUs7b0JBQ0wsTUFBTSxFQUFFLGVBQWU7b0JBQ3ZCLE1BQU07b0JBQ04sV0FBVztvQkFDWCxLQUFLO29CQUNMLElBQUksRUFBRSxJQUFJO29CQUNWLGlCQUFpQixFQUFFLElBQUk7b0JBQ3ZCLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLHFCQUFxQixFQUFFLElBQUk7b0JBQzNCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRSxJQUFJO29CQUNqQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFdBQVcsRUFBRSxZQUFZO29CQUN6QixXQUFXLEVBQUUsS0FBSztpQkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFFYixhQUFhLEVBQUUsQ0FBQzthQUNqQjtRQUNILENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDVCxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxTQUFTLENBQ1AsR0FBRyxFQUFFO1FBQ0gsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU87WUFDakMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsWUFBWTtZQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ04sU0FBUyxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDLEVBQ0QsQ0FBQyxXQUFXLENBQUMsQ0FDZCxDQUFDO0lBRUYsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFDUixTQUFTLEVBQUUsVUFBVSxFQUNyQixRQUFRLEVBQUUsUUFBUSxFQUNsQixRQUFRLEVBQUUsUUFBUSxFQUNsQixRQUFRLEVBQUUsUUFBUSxFQUNsQixVQUFVLFFBQ1YsR0FBRyxFQUFFLFlBQVk7UUFFakIsb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsR0FBSTtRQUV2RCxvQkFBQyxNQUFNLElBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUN2QztRQUVSLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { render, act, fireEvent } from '@testing-library/react';
2
+ import { render, act, fireEvent, waitFor } from '@testing-library/react';
3
3
  import 'regenerator-runtime';
4
4
  import '@testing-library/jest-dom';
5
5
  jest.mock('@times-components/image', () => ({
@@ -8,19 +8,23 @@ jest.mock('@times-components/image', () => ({
8
8
  const mockInitSettings = jest.fn();
9
9
  const mockInitStyleSheet = jest.fn();
10
10
  const mockInitComponent = jest.fn();
11
- const mockHasMatchEvents = jest.fn();
12
- const mockInitElement = () => {
11
+ const mockInitScript = jest.fn();
12
+ const mockEmitEvent = jest.fn();
13
+ const mockInitElement = jest.fn(() => {
13
14
  const element = document.createElement('div');
14
15
  element.appendChild(document.createTextNode('Widget'));
15
16
  return element;
16
- };
17
+ });
17
18
  jest.mock('../../../utils/config', () => ({
18
19
  initSettings: mockInitSettings,
19
20
  initStyleSheet: mockInitStyleSheet,
20
- initScript: () => new Promise(resolve => resolve({})),
21
+ initScript: mockInitScript,
21
22
  initElement: mockInitElement,
22
23
  initComponent: mockInitComponent
23
24
  }));
25
+ jest.mock('../../../utils/emitEvent', () => ({
26
+ emitEvent: mockEmitEvent
27
+ }));
24
28
  import { OptaFootballSummary } from '../OptaFootballSummary';
25
29
  const requiredProps = {
26
30
  season: '2020',
@@ -30,31 +34,104 @@ const requiredProps = {
30
34
  describe('OptaFootballSummary', () => {
31
35
  beforeEach(() => {
32
36
  jest.clearAllMocks();
37
+ mockInitScript.mockResolvedValue({});
38
+ });
39
+ afterEach(() => {
40
+ jest.clearAllMocks();
41
+ document.body.innerHTML = '';
33
42
  });
34
43
  it('should render correctly', async () => {
35
- const { asFragment } = render(React.createElement(OptaFootballSummary, Object.assign({}, requiredProps)));
36
- act(() => {
37
- mockInitComponent();
38
- mockHasMatchEvents();
44
+ const { asFragment, getByRole } = render(React.createElement(OptaFootballSummary, Object.assign({}, requiredProps)));
45
+ await waitFor(() => {
46
+ expect(mockInitSettings).toHaveBeenCalledTimes(1);
39
47
  });
40
- expect(mockInitSettings).toHaveBeenCalledTimes(1);
41
- expect(mockInitStyleSheet).toHaveBeenCalledTimes(1);
48
+ expect(mockInitStyleSheet).toHaveBeenCalledWith('football');
42
49
  expect(mockInitComponent).toHaveBeenCalledTimes(1);
50
+ expect(getByRole('button')).toBeInTheDocument();
43
51
  expect(asFragment()).toMatchSnapshot();
44
52
  });
45
- it('should disable the button initially', () => {
53
+ it('should enable the button initially', () => {
46
54
  const { getByRole } = render(React.createElement(OptaFootballSummary, Object.assign({}, requiredProps)));
47
55
  const button = getByRole('button');
48
56
  expect(button).not.toBeDisabled();
49
57
  });
50
- it('should toggle details when button is clicked', () => {
58
+ it('should toggle details when button is clicked', async () => {
51
59
  const { getByRole } = render(React.createElement(OptaFootballSummary, Object.assign({}, requiredProps)));
52
60
  const button = getByRole('button');
53
61
  expect(button).toHaveTextContent('Show Details');
54
- fireEvent.click(button);
55
- expect(button).toHaveTextContent('Hide Details');
56
- fireEvent.click(button);
57
- expect(button).toHaveTextContent('Show Details');
62
+ act(() => {
63
+ fireEvent.click(button);
64
+ });
65
+ await waitFor(() => {
66
+ expect(button).toHaveTextContent('Hide Details');
67
+ });
68
+ act(() => {
69
+ fireEvent.click(button);
70
+ });
71
+ await waitFor(() => {
72
+ expect(button).toHaveTextContent('Show Details');
73
+ });
74
+ });
75
+ describe('emitEvent', () => {
76
+ it('should call emitEvent with updateHeight when details are toggled', async () => {
77
+ const { getByRole } = render(React.createElement(OptaFootballSummary, Object.assign({}, requiredProps)));
78
+ const button = getByRole('button');
79
+ // Clear initial calls
80
+ jest.clearAllMocks();
81
+ act(() => {
82
+ fireEvent.click(button);
83
+ });
84
+ await waitFor(() => {
85
+ expect(mockEmitEvent).toHaveBeenCalledWith('updateHeight', expect.any(Number));
86
+ });
87
+ });
88
+ it('should emit updateHeight event on each toggle', async () => {
89
+ const { getByRole } = render(React.createElement(OptaFootballSummary, Object.assign({}, requiredProps)));
90
+ const button = getByRole('button');
91
+ // Clear initial calls
92
+ jest.clearAllMocks();
93
+ // First toggle
94
+ act(() => {
95
+ fireEvent.click(button);
96
+ });
97
+ await waitFor(() => {
98
+ expect(mockEmitEvent).toHaveBeenCalledTimes(1);
99
+ });
100
+ // Second toggle
101
+ act(() => {
102
+ fireEvent.click(button);
103
+ });
104
+ await waitFor(() => {
105
+ expect(mockEmitEvent).toHaveBeenCalledTimes(2);
106
+ });
107
+ // Third toggle
108
+ act(() => {
109
+ fireEvent.click(button);
110
+ });
111
+ await waitFor(() => {
112
+ expect(mockEmitEvent).toHaveBeenCalledTimes(3);
113
+ });
114
+ });
115
+ it('should emit updateHeight with container offsetHeight', async () => {
116
+ const { getByRole, container } = render(React.createElement(OptaFootballSummary, Object.assign({}, requiredProps)));
117
+ const button = getByRole('button');
118
+ // Clear initial calls
119
+ jest.clearAllMocks();
120
+ // Mock offsetHeight
121
+ const containerElement = container.querySelector('[class*="Container"]');
122
+ if (containerElement) {
123
+ Object.defineProperty(containerElement, 'offsetHeight', {
124
+ value: 250,
125
+ configurable: true
126
+ });
127
+ }
128
+ act(() => {
129
+ fireEvent.click(button);
130
+ });
131
+ await waitFor(() => {
132
+ expect(mockEmitEvent).toHaveBeenCalledWith('updateHeight', expect.any(Number));
133
+ });
134
+ });
58
135
  });
59
136
  });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsU3VtbWFyeS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9mb290YmFsbC9zdW1tYXJ5L19fdGVzdHNfXy9PcHRhRm9vdGJhbGxTdW1tYXJ5LnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRSxPQUFPLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sMkJBQTJCLENBQUM7QUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3REFBZ0I7Q0FDcEMsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNuQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVyQyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEMsWUFB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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsU3VtbWFyeS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9mb290YmFsbC9zdW1tYXJ5L19fdGVzdHNfXy9PcHRhRm9vdGJhbGxTdW1tYXJ5LnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLDJCQUEyQixDQUFDO0FBRW5DLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsd0RBQWdCO0NBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBRUosTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDcEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ2pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENB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
@@ -4,8 +4,10 @@ import { initSettings, initStyleSheet, initScript, initElement, initComponent }
4
4
  import { Container, PlaceholderContainer } from '../../shared/shared-styles';
5
5
  import { WidgetContainer } from '../../shared/summary-styles';
6
6
  import Button from '../../shared/button/Button';
7
+ import { emitEvent } from '../../utils/emitEvent';
7
8
  export const OptaRugbySummary = React.memo(({ season, competition, match, full_width, heightSm = 197, heightMd = 197, heightLg = 197 }) => {
8
9
  const ref = React.createRef();
10
+ const containerRef = React.createRef();
9
11
  const [isReady, setIsReady] = useState(false);
10
12
  const [showDetails, setShowDetails] = useState(false);
11
13
  useEffect(() => {
@@ -41,10 +43,16 @@ export const OptaRugbySummary = React.memo(({ season, competition, match, full_w
41
43
  setIsReady(true);
42
44
  });
43
45
  }, []);
44
- return (React.createElement(Container, { fullWidth: full_width, heightSm: heightSm, heightMd: heightMd, heightLg: heightLg, hasPadding: true },
46
+ useEffect(() => {
47
+ const height = containerRef.current
48
+ ? containerRef.current.offsetHeight
49
+ : 0;
50
+ emitEvent('updateHeight', height);
51
+ }, [showDetails]);
52
+ return (React.createElement(Container, { fullWidth: full_width, heightSm: heightSm, heightMd: heightMd, heightLg: heightLg, hasPadding: true, ref: containerRef },
45
53
  React.createElement(WidgetContainer, { ref: ref, showDetails: showDetails }),
46
54
  React.createElement(Button, { onClick: () => setShowDetails(!showDetails) }, showDetails ? 'Hide Details' : 'Show Details'),
47
55
  !isReady && (React.createElement(PlaceholderContainer, null,
48
56
  React.createElement(Placeholder, null)))));
49
57
  });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3VtbWFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvcnVnYnkvc3VtbWFyeS9PcHRhUnVnYnlTdW1tYXJ5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLE1BQU0sTUFBTSw0QkFBNEIsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FReEIsS0FBSyxDQUFDLElBQUksQ0FDYixDQUFDLEVBQ0MsTUFBTSxFQUNOLFdBQVcsRUFDWCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsR0FBRyxHQUFHLEVBQ2QsUUFBUSxHQUFHLEdBQUcsRUFDZCxRQUFRLEdBQUcsR0FBRyxFQUNmLEVBQUUsRUFBRTtJQUNILE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFDOUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFL0QsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUV0QixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixVQUFVLEVBQUU7YUFDVCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2pELEtBQUs7b0JBQ0wsTUFBTSxFQUFFLGVBQWU7b0JBQ3ZCLE1BQU07b0JBQ04sV0FBVztvQkFDWCxLQUFLO29CQUNMLElBQUksRUFBRSxJQUFJO29CQUNWLGlCQUFpQixFQUFFLElBQUk7b0JBQ3ZCLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLHFCQUFxQixFQUFFLElBQUk7b0JBQzNCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRSxJQUFJO29CQUNqQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsY0FBYyxFQUFFLElBQUk7b0JBQ3BCLGVBQWUsRUFBRSxRQUFRO29CQUN6QixXQUFXLEVBQUUsWUFBWTtvQkFDekIsV0FBVyxFQUFFLEtBQUs7aUJBQ25CLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7YUFDakI7UUFDSCxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFDUixTQUFTLEVBQUUsVUFBVSxFQUNyQixRQUFRLEVBQUUsUUFBUSxFQUNsQixRQUFRLEVBQUUsUUFBUSxFQUNsQixRQUFRLEVBQUUsUUFBUSxFQUNsQixVQUFVO1FBRVYsb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsR0FBSTtRQUV2RCxvQkFBQyxNQUFNLElBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUNoRCxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUN2QztRQUVSLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3VtbWFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvcnVnYnkvc3VtbWFyeS9PcHRhUnVnYnlTdW1tYXJ5LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLE1BQU0sTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBUXhCLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUNDLE1BQU0sRUFDTixXQUFXLEVBQ1gsS0FBSyxFQUNMLFVBQVUsRUFDVixRQUFRLEdBQUcsR0FBRyxFQUNkLFFBQVEsR0FBRyxHQUFHLEVBQ2QsUUFBUSxHQUFHLEdBQUcsRUFDZixFQUFFLEVBQUU7SUFDSCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBQzlDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFDdkQsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFL0QsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQztRQUV0QixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixVQUFVLEVBQUU7YUFDVCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2pELEtBQUs7b0JBQ0wsTUFBTSxFQUFFLGVBQWU7b0JBQ3ZCLE1BQU07b0JBQ04sV0FBVztvQkFDWCxLQUFLO29CQUNMLElBQUksRUFBRSxJQUFJO29CQUNWLGlCQUFpQixFQUFFLElBQUk7b0JBQ3ZCLG1CQUFtQixFQUFFLElBQUk7b0JBQ3pCLHFCQUFxQixFQUFFLElBQUk7b0JBQzNCLFNBQVMsRUFBRSxJQUFJO29CQUNmLFdBQVcsRUFBRSxJQUFJO29CQUNqQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtvQkFDdEIsY0FBYyxFQUFFLElBQUk7b0JBQ3BCLGVBQWUsRUFBRSxRQUFRO29CQUN6QixXQUFXLEVBQUUsWUFBWTtvQkFDekIsV0FBVyxFQUFFLEtBQUs7aUJBQ25CLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7YUFDakI7UUFDSCxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1QsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsU0FBUyxDQUNQLEdBQUcsRUFBRTtRQUNILE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPO1lBQ2pDLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFlBQVk7WUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNOLFNBQVMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQyxFQUNELENBQUMsV0FBVyxDQUFDLENBQ2QsQ0FBQztJQUVGLE9BQU8sQ0FDTCxvQkFBQyxTQUFTLElBQ1IsU0FBUyxFQUFFLFVBQVUsRUFDckIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsVUFBVSxRQUNWLEdBQUcsRUFBRSxZQUFZO1FBRWpCLG9CQUFDLGVBQWUsSUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUk7UUFFdkQsb0JBQUMsTUFBTSxJQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFDaEQsV0FBVyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FDdkM7UUFFUixDQUFDLE9BQU8sSUFBSSxDQUNYLG9CQUFDLG9CQUFvQjtZQUNuQixvQkFBQyxXQUFXLE9BQUcsQ0FDTSxDQUN4QixDQUNTLENBQ2IsQ0FBQztBQUNKLENBQUMsQ0FDRixDQUFDIn0=
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { render, act, fireEvent } from '@testing-library/react';
2
+ import { render, act, fireEvent, waitFor } from '@testing-library/react';
3
3
  import 'regenerator-runtime';
4
4
  import '@testing-library/jest-dom';
5
5
  jest.mock('@times-components/image', () => ({
@@ -8,19 +8,23 @@ jest.mock('@times-components/image', () => ({
8
8
  const mockInitSettings = jest.fn();
9
9
  const mockInitStyleSheet = jest.fn();
10
10
  const mockInitComponent = jest.fn();
11
- const mockHasMatchEvents = jest.fn();
12
- const mockInitElement = () => {
11
+ const mockInitScript = jest.fn();
12
+ const mockEmitEvent = jest.fn();
13
+ const mockInitElement = jest.fn(() => {
13
14
  const element = document.createElement('div');
14
15
  element.appendChild(document.createTextNode('Widget'));
15
16
  return element;
16
- };
17
+ });
17
18
  jest.mock('../../../utils/config', () => ({
18
19
  initSettings: mockInitSettings,
19
20
  initStyleSheet: mockInitStyleSheet,
20
- initScript: () => new Promise(resolve => resolve({})),
21
+ initScript: mockInitScript,
21
22
  initElement: mockInitElement,
22
23
  initComponent: mockInitComponent
23
24
  }));
25
+ jest.mock('../../../utils/emitEvent', () => ({
26
+ emitEvent: mockEmitEvent
27
+ }));
24
28
  import { OptaRugbySummary } from '../OptaRugbySummary';
25
29
  const requiredProps = {
26
30
  season: '2022',
@@ -30,16 +34,20 @@ const requiredProps = {
30
34
  describe('OptaRugbySummary', () => {
31
35
  beforeEach(() => {
32
36
  jest.clearAllMocks();
37
+ mockInitScript.mockResolvedValue({});
38
+ });
39
+ afterEach(() => {
40
+ jest.clearAllMocks();
41
+ document.body.innerHTML = '';
33
42
  });
34
43
  it('should render correctly', async () => {
35
- const { asFragment } = render(React.createElement(OptaRugbySummary, Object.assign({}, requiredProps)));
36
- act(() => {
37
- mockInitComponent();
38
- mockHasMatchEvents();
44
+ const { asFragment, getByRole } = render(React.createElement(OptaRugbySummary, Object.assign({}, requiredProps)));
45
+ await waitFor(() => {
46
+ expect(mockInitSettings).toHaveBeenCalledTimes(1);
39
47
  });
40
- expect(mockInitSettings).toHaveBeenCalledTimes(1);
41
- expect(mockInitStyleSheet).toHaveBeenCalledTimes(1);
48
+ expect(mockInitStyleSheet).toHaveBeenCalledWith('rugby');
42
49
  expect(mockInitComponent).toHaveBeenCalledTimes(1);
50
+ expect(getByRole('button')).toBeInTheDocument();
43
51
  expect(asFragment()).toMatchSnapshot();
44
52
  });
45
53
  it('should enable the button initially', () => {
@@ -47,14 +55,83 @@ describe('OptaRugbySummary', () => {
47
55
  const button = getByRole('button');
48
56
  expect(button).not.toBeDisabled();
49
57
  });
50
- it('should toggle details when button is clicked', () => {
58
+ it('should toggle details when button is clicked', async () => {
51
59
  const { getByRole } = render(React.createElement(OptaRugbySummary, Object.assign({}, requiredProps)));
52
60
  const button = getByRole('button');
53
61
  expect(button).toHaveTextContent('Show Details');
54
- fireEvent.click(button);
55
- expect(button).toHaveTextContent('Hide Details');
56
- fireEvent.click(button);
57
- expect(button).toHaveTextContent('Show Details');
62
+ act(() => {
63
+ fireEvent.click(button);
64
+ });
65
+ await waitFor(() => {
66
+ expect(button).toHaveTextContent('Hide Details');
67
+ });
68
+ act(() => {
69
+ fireEvent.click(button);
70
+ });
71
+ await waitFor(() => {
72
+ expect(button).toHaveTextContent('Show Details');
73
+ });
74
+ });
75
+ describe('emitEvent', () => {
76
+ it('should call emitEvent with updateHeight when details are toggled', async () => {
77
+ const { getByRole } = render(React.createElement(OptaRugbySummary, Object.assign({}, requiredProps)));
78
+ const button = getByRole('button');
79
+ // Clear initial calls
80
+ jest.clearAllMocks();
81
+ act(() => {
82
+ fireEvent.click(button);
83
+ });
84
+ await waitFor(() => {
85
+ expect(mockEmitEvent).toHaveBeenCalledWith('updateHeight', expect.any(Number));
86
+ });
87
+ });
88
+ it('should emit updateHeight event on each toggle', async () => {
89
+ const { getByRole } = render(React.createElement(OptaRugbySummary, Object.assign({}, requiredProps)));
90
+ const button = getByRole('button');
91
+ // Clear initial calls
92
+ jest.clearAllMocks();
93
+ // First toggle
94
+ act(() => {
95
+ fireEvent.click(button);
96
+ });
97
+ await waitFor(() => {
98
+ expect(mockEmitEvent).toHaveBeenCalledTimes(1);
99
+ });
100
+ // Second toggle
101
+ act(() => {
102
+ fireEvent.click(button);
103
+ });
104
+ await waitFor(() => {
105
+ expect(mockEmitEvent).toHaveBeenCalledTimes(2);
106
+ });
107
+ // Third toggle
108
+ act(() => {
109
+ fireEvent.click(button);
110
+ });
111
+ await waitFor(() => {
112
+ expect(mockEmitEvent).toHaveBeenCalledTimes(3);
113
+ });
114
+ });
115
+ it('should emit updateHeight with container offsetHeight', async () => {
116
+ const { getByRole, container } = render(React.createElement(OptaRugbySummary, Object.assign({}, requiredProps)));
117
+ const button = getByRole('button');
118
+ // Clear initial calls
119
+ jest.clearAllMocks();
120
+ // Mock offsetHeight
121
+ const containerElement = container.querySelector('[class*="Container"]');
122
+ if (containerElement) {
123
+ Object.defineProperty(containerElement, 'offsetHeight', {
124
+ value: 250,
125
+ configurable: true
126
+ });
127
+ }
128
+ act(() => {
129
+ fireEvent.click(button);
130
+ });
131
+ await waitFor(() => {
132
+ expect(mockEmitEvent).toHaveBeenCalledWith('updateHeight', expect.any(Number));
133
+ });
134
+ });
58
135
  });
59
136
  });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3VtbWFyeS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9zdW1tYXJ5L19fdGVzdHNfXy9PcHRhUnVnYnlTdW1tYXJ5LnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRSxPQUFPLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sMkJBQTJCLENBQUM7QUFFbkMsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3REFBZ0I7Q0FDcEMsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNuQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNyQyxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUNwQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVyQyxNQUFNLGVBQWUsR0FBRyxHQUFHLEVBQUU7SUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2RCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDeEMsWUFBWSxFQUFFLGdC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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YVJ1Z2J5U3VtbWFyeS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9ydWdieS9zdW1tYXJ5L19fdGVzdHNfXy9PcHRhUnVnYnlTdW1tYXJ5LnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekUsT0FBTyxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLDJCQUEyQixDQUFDO0FBRW5DLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsd0RBQWdCO0NBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBRUosTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDcEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ2pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztBQUVoQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRTtJQUNuQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxD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