@times-components/ts-components 1.24.0 → 1.26.0

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 (137) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/__mocks__/isomorphic-unfetch.d.ts +3 -0
  3. package/dist/__mocks__/isomorphic-unfetch.js +4 -0
  4. package/dist/components/article-flag/LiveArticleFlag.js +5 -5
  5. package/dist/components/article-flag/styles.d.ts +4 -3
  6. package/dist/components/article-flag/styles.js +30 -26
  7. package/dist/components/article-header/ArticleHeader.js +11 -2
  8. package/dist/components/common-styles.d.ts +13 -0
  9. package/dist/components/common-styles.js +54 -10
  10. package/dist/components/in-article-big-numbers/BigNumbers.js +4 -4
  11. package/dist/components/in-article-big-numbers/styles.d.ts +1 -13
  12. package/dist/components/in-article-big-numbers/styles.js +3 -52
  13. package/dist/components/in-article-timelines/Timelines.d.ts +4 -0
  14. package/dist/components/in-article-timelines/Timelines.js +70 -0
  15. package/dist/components/in-article-timelines/Timelines.stories.d.ts +1 -0
  16. package/dist/components/in-article-timelines/Timelines.stories.js +21 -0
  17. package/dist/components/in-article-timelines/__tests__/Timelines.test.d.ts +2 -0
  18. package/dist/components/in-article-timelines/__tests__/Timelines.test.js +256 -0
  19. package/dist/components/in-article-timelines/styles.d.ts +15 -0
  20. package/dist/components/in-article-timelines/styles.js +115 -0
  21. package/dist/components/opta/football/fixtures/OptaFootballFixtures.js +5 -4
  22. package/dist/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.d.ts +2 -0
  23. package/dist/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.js +41 -0
  24. package/dist/components/opta/football/match-stats/OptaFootballMatchStats.js +4 -3
  25. package/dist/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.d.ts +2 -0
  26. package/dist/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.js +40 -0
  27. package/dist/components/opta/football/standings/OptaFootballStandings.js +4 -3
  28. package/dist/components/opta/football/standings/__tests__/OptaFootballStandings.test.d.ts +2 -0
  29. package/dist/components/opta/football/standings/__tests__/OptaFootballStandings.test.js +39 -0
  30. package/dist/components/opta/football/summary/OptaFootballSummary.js +4 -3
  31. package/dist/components/opta/football/summary/__tests__/OptaFootballSummary.test.d.ts +2 -0
  32. package/dist/components/opta/football/summary/__tests__/OptaFootballSummary.test.js +40 -0
  33. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.d.ts +8 -0
  34. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.js +54 -0
  35. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.d.ts +1 -0
  36. package/dist/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.js +26 -0
  37. package/dist/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.d.ts +2 -0
  38. package/dist/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.js +41 -0
  39. package/dist/components/opta/rugby/fixtures/styles.d.ts +2 -0
  40. package/dist/components/opta/rugby/fixtures/styles.js +255 -0
  41. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.d.ts +7 -0
  42. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.js +43 -0
  43. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.d.ts +1 -0
  44. package/dist/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.js +26 -0
  45. package/dist/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.d.ts +2 -0
  46. package/dist/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.js +40 -0
  47. package/dist/components/opta/rugby/match-stats/styles.d.ts +1 -0
  48. package/dist/components/opta/rugby/match-stats/styles.js +153 -0
  49. package/dist/components/opta/rugby/shared-styles.d.ts +6 -0
  50. package/dist/components/opta/rugby/shared-styles.js +72 -0
  51. package/dist/components/opta/rugby/standings/OptaRugbyStandings.d.ts +8 -0
  52. package/dist/components/opta/rugby/standings/OptaRugbyStandings.js +36 -0
  53. package/dist/components/opta/rugby/standings/OptaRugbyStandings.stories.d.ts +1 -0
  54. package/dist/components/opta/rugby/standings/OptaRugbyStandings.stories.js +36 -0
  55. package/dist/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.d.ts +2 -0
  56. package/dist/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.js +39 -0
  57. package/dist/components/opta/rugby/standings/styles.d.ts +1 -0
  58. package/dist/components/opta/rugby/standings/styles.js +247 -0
  59. package/dist/components/opta/rugby/summary/OptaRugbySummary.d.ts +7 -0
  60. package/dist/components/opta/rugby/summary/OptaRugbySummary.js +44 -0
  61. package/dist/components/opta/rugby/summary/OptaRugbySummary.stories.d.ts +1 -0
  62. package/dist/components/opta/rugby/summary/OptaRugbySummary.stories.js +26 -0
  63. package/dist/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.d.ts +2 -0
  64. package/dist/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.js +40 -0
  65. package/dist/components/opta/rugby/summary/styles.d.ts +1 -0
  66. package/dist/components/opta/rugby/summary/styles.js +152 -0
  67. package/dist/components/opta/utils/__tests__/config.test.d.ts +1 -0
  68. package/dist/components/opta/utils/__tests__/config.test.js +24 -0
  69. package/dist/components/opta/utils/config.d.ts +1 -1
  70. package/dist/components/opta/utils/config.js +12 -3
  71. package/dist/helpers/fetch/FetchProvider.js +3 -3
  72. package/dist/helpers/fetch/__tests__/FetchProvider.test.d.ts +0 -1
  73. package/dist/helpers/fetch/__tests__/FetchProvider.test.js +17 -23
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.js +2 -1
  76. package/jest.config.js +4 -4
  77. package/package.json +6 -5
  78. package/rnw.js +1 -1
  79. package/src/__mocks__/isomorphic-unfetch.ts +3 -0
  80. package/src/components/article-flag/LiveArticleFlag.tsx +7 -6
  81. package/src/components/article-flag/__tests__/__snapshots__/ArticleFlag.test.tsx.snap +100 -100
  82. package/src/components/article-flag/__tests__/__snapshots__/LiveArticleFlag.test.tsx.snap +33 -33
  83. package/src/components/article-flag/styles.ts +32 -27
  84. package/src/components/article-header/ArticleHeader.tsx +10 -2
  85. package/src/components/article-header/__tests__/__snapshots__/ArticleHeader.test.tsx.snap +14 -11
  86. package/src/components/carousel/__tests__/__snapshots__/GalleryCarousel.test.tsx.snap +3 -3
  87. package/src/components/common-styles.ts +66 -7
  88. package/src/components/in-article-big-numbers/BigNumbers.tsx +11 -8
  89. package/src/components/in-article-big-numbers/__tests__/__snapshots__/BigNumbers.test.tsx.snap +67 -67
  90. package/src/components/in-article-big-numbers/styles.ts +2 -65
  91. package/src/components/in-article-info-card/__tests__/__snapshots__/InfoCard.test.tsx.snap +8 -8
  92. package/src/components/in-article-info-card-bulletpoints/__tests__/__snapshots__/InfoCardBulletPoints.test.tsx.snap +2 -2
  93. package/src/components/in-article-puff/__tests__/__snapshots__/InArticlePuff.test.tsx.snap +10 -10
  94. package/src/components/in-article-timelines/Timelines.stories.tsx +33 -0
  95. package/src/components/in-article-timelines/Timelines.tsx +160 -0
  96. package/src/components/in-article-timelines/__tests__/Timelines.test.tsx +309 -0
  97. package/src/components/in-article-timelines/__tests__/__snapshots__/Timelines.test.tsx.snap +727 -0
  98. package/src/components/in-article-timelines/styles.ts +127 -0
  99. package/src/components/opta/football/fixtures/OptaFootballFixtures.tsx +5 -3
  100. package/src/components/opta/football/fixtures/__tests__/OptaFootballFixtures.test.tsx +53 -0
  101. package/src/components/opta/football/fixtures/__tests__/__snapshots__/OptaFootballFixtures.test.tsx.snap +34 -0
  102. package/src/components/opta/football/match-stats/OptaFootballMatchStats.tsx +4 -2
  103. package/src/components/opta/football/match-stats/__tests__/OptaFootballMatchStats.test.tsx +52 -0
  104. package/src/components/opta/football/match-stats/__tests__/__snapshots__/OptaFootballMatchStats.test.tsx.snap +34 -0
  105. package/src/components/opta/football/standings/OptaFootballStandings.tsx +4 -2
  106. package/src/components/opta/football/standings/__tests__/OptaFootballStandings.test.tsx +51 -0
  107. package/src/components/opta/football/standings/__tests__/__snapshots__/OptaFootballStandings.test.tsx.snap +34 -0
  108. package/src/components/opta/football/summary/OptaFootballSummary.tsx +4 -2
  109. package/src/components/opta/football/summary/__tests__/OptaFootballSummary.test.tsx +52 -0
  110. package/src/components/opta/football/summary/__tests__/__snapshots__/OptaFootballSummary.test.tsx.snap +34 -0
  111. package/src/components/opta/rugby/fixtures/OptaRugbyFixtures.stories.tsx +44 -0
  112. package/src/components/opta/rugby/fixtures/OptaRugbyFixtures.tsx +86 -0
  113. package/src/components/opta/rugby/fixtures/__tests__/OptaRugbyFixtures.test.tsx +53 -0
  114. package/src/components/opta/rugby/fixtures/__tests__/__snapshots__/OptaRugbyFixtures.test.tsx.snap +34 -0
  115. package/src/components/opta/rugby/fixtures/styles.ts +257 -0
  116. package/src/components/opta/rugby/match-stats/OptaRugbyMatchStats.stories.tsx +34 -0
  117. package/src/components/opta/rugby/match-stats/OptaRugbyMatchStats.tsx +71 -0
  118. package/src/components/opta/rugby/match-stats/__tests__/OptaRugbyMatchStats.test.tsx +52 -0
  119. package/src/components/opta/rugby/match-stats/__tests__/__snapshots__/OptaRugbyMatchStats.test.tsx.snap +34 -0
  120. package/src/components/opta/rugby/match-stats/styles.ts +154 -0
  121. package/src/components/opta/rugby/shared-styles.ts +75 -0
  122. package/src/components/opta/rugby/standings/OptaRugbyStandings.stories.tsx +49 -0
  123. package/src/components/opta/rugby/standings/OptaRugbyStandings.tsx +66 -0
  124. package/src/components/opta/rugby/standings/__tests__/OptaRugbyStandings.test.tsx +51 -0
  125. package/src/components/opta/rugby/standings/__tests__/__snapshots__/OptaRugbyStandings.test.tsx.snap +34 -0
  126. package/src/components/opta/rugby/standings/styles.ts +248 -0
  127. package/src/components/opta/rugby/summary/OptaRugbySummary.stories.tsx +34 -0
  128. package/src/components/opta/rugby/summary/OptaRugbySummary.tsx +71 -0
  129. package/src/components/opta/rugby/summary/__tests__/OptaRugbySummary.test.tsx +52 -0
  130. package/src/components/opta/rugby/summary/__tests__/__snapshots__/OptaRugbySummary.test.tsx.snap +34 -0
  131. package/src/components/opta/rugby/summary/styles.ts +153 -0
  132. package/src/components/opta/utils/__tests__/config.test.tsx +38 -0
  133. package/src/components/opta/utils/config.ts +13 -3
  134. package/src/helpers/fetch/FetchProvider.tsx +2 -2
  135. package/src/helpers/fetch/__tests__/FetchProvider.test.tsx +21 -31
  136. package/src/helpers/fetch/__tests__/__snapshots__/FetchProvider.test.tsx.snap +10 -2
  137. package/src/index.ts +1 -0
@@ -0,0 +1,256 @@
1
+ import React from 'react';
2
+ import mockDate from 'mockdate';
3
+ import { cleanup, fireEvent, render } from '@testing-library/react';
4
+ import { Timelines } from '../Timelines';
5
+ import { useFetch } from '../../../helpers/fetch/FetchProvider';
6
+ import { TrackingContextProvider } from '../../../helpers/tracking/TrackingContextProvider';
7
+ import FakeIntersectionObserver from '../../../test-utils/FakeIntersectionObserver';
8
+ import '@testing-library/jest-dom';
9
+ import 'regenerator-runtime';
10
+ jest.mock('@times-components/image', () => ({
11
+ Placeholder: () => React.createElement("div", null, "Placeholder")
12
+ }));
13
+ jest.mock('../../../helpers/fetch/FetchProvider', () => ({
14
+ useFetch: jest.fn()
15
+ }));
16
+ const deckApiPayloadWrapper = () => ({
17
+ data: testDataBullet
18
+ });
19
+ const deckApiPayloadWrapperCircle = () => ({
20
+ data: testDataCircle
21
+ });
22
+ const testDataBullet = {
23
+ deck_id: 45060,
24
+ deck_name: '[TEST] Timeline with Bullet Points - 25/08/2021 11:04:10',
25
+ deck_type: 'Timeline with Bullet Points',
26
+ version: 2,
27
+ updated_at: {
28
+ date: '2021-08-16 12:48:43.000000',
29
+ timezone_type: 3,
30
+ timezone: 'UTC'
31
+ },
32
+ fields: {
33
+ label: 'Venezuelan Politics',
34
+ headline: 'A history of injury troubles'
35
+ },
36
+ body: {
37
+ data: [
38
+ {
39
+ type: 'event',
40
+ data: {
41
+ date: '9 June 2018',
42
+ eventHeading: 'Event Heading 1',
43
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
44
+ }
45
+ },
46
+ {
47
+ type: 'event',
48
+ data: {
49
+ date: '10 June 2018',
50
+ eventHeading: 'Event Heading 2',
51
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
52
+ }
53
+ },
54
+ {
55
+ type: 'event',
56
+ data: {
57
+ date: '11 June 2018',
58
+ eventHeading: 'Event Heading 3',
59
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
60
+ }
61
+ },
62
+ {
63
+ type: 'event',
64
+ data: {
65
+ date: '12 June 2018',
66
+ eventHeading: 'Event Heading 4',
67
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
68
+ }
69
+ },
70
+ {
71
+ type: 'event',
72
+ data: {
73
+ date: '13 June 2018',
74
+ eventHeading: 'Event Heading 5',
75
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
76
+ }
77
+ },
78
+ {
79
+ type: 'event',
80
+ data: {
81
+ date: '14 June 2018',
82
+ eventHeading: 'Event Heading 6',
83
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
84
+ }
85
+ },
86
+ {
87
+ type: 'event',
88
+ data: {
89
+ date: '15 June 2018',
90
+ eventHeading: 'Event Heading 7',
91
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
92
+ }
93
+ }
94
+ ]
95
+ },
96
+ html: '<!DOCTYPE html><html><head><title>The Times - In Article Timeline with Bullet Points</title></head><body></body></html>'
97
+ };
98
+ const testDataCircle = {
99
+ deck_id: 45061,
100
+ deck_name: '[TEST] Timeline with Images - 25/08/2021 11:11:38',
101
+ deck_type: 'Timeline with Circle Images',
102
+ version: 2,
103
+ updated_at: {
104
+ date: '2021-08-16 12:48:43.000000',
105
+ timezone_type: 3,
106
+ timezone: 'UTC'
107
+ },
108
+ fields: {
109
+ label: 'Venezuelan Politics',
110
+ headline: 'A history of injury troubles'
111
+ },
112
+ body: {
113
+ data: [
114
+ {
115
+ type: 'event',
116
+ data: {
117
+ date: '9 June 2018',
118
+ eventHeading: 'Event Heading 1',
119
+ image: 'https://www.thetimes.co.uk/imageserver/image/%2Fmethode%2Ftimes%2Fprod%2Fweb%2Fbin%2Ffee23bf0-04d7-11ec-89b3-29a9a04e8645.jpg?crop=1500%2C844%2C0%2C78&resize=1200',
120
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
121
+ }
122
+ },
123
+ {
124
+ type: 'event',
125
+ data: {
126
+ date: '10 June 2018',
127
+ eventHeading: 'Event Heading 2',
128
+ image: 'https://www.thetimes.co.uk/imageserver/image/%2Fmethode%2Ftimes%2Fprod%2Fweb%2Fbin%2Ffee23bf0-04d7-11ec-89b3-29a9a04e8645.jpg?crop=1500%2C844%2C0%2C78&resize=1200',
129
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
130
+ }
131
+ },
132
+ {
133
+ type: 'event',
134
+ data: {
135
+ date: '11 June 2018',
136
+ eventHeading: 'Event Heading 3',
137
+ image: 'https://www.thetimes.co.uk/imageserver/image/%2Fmethode%2Ftimes%2Fprod%2Fweb%2Fbin%2Ffee23bf0-04d7-11ec-89b3-29a9a04e8645.jpg?crop=1500%2C844%2C0%2C78&resize=1200',
138
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
139
+ }
140
+ },
141
+ {
142
+ type: 'event',
143
+ data: {
144
+ date: '12 June 2018',
145
+ eventHeading: 'Event Heading 4',
146
+ image: 'https://www.thetimes.co.uk/imageserver/image/%2Fmethode%2Ftimes%2Fprod%2Fweb%2Fbin%2Ffee23bf0-04d7-11ec-89b3-29a9a04e8645.jpg?crop=1500%2C844%2C0%2C78&resize=1200',
147
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
148
+ }
149
+ },
150
+ {
151
+ type: 'event',
152
+ data: {
153
+ date: '13 June 2018',
154
+ eventHeading: 'Event Heading 5',
155
+ image: 'https://www.thetimes.co.uk/imageserver/image/%2Fmethode%2Ftimes%2Fprod%2Fweb%2Fbin%2Ffee23bf0-04d7-11ec-89b3-29a9a04e8645.jpg?crop=1500%2C844%2C0%2C78&resize=1200',
156
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
157
+ }
158
+ },
159
+ {
160
+ type: 'event',
161
+ data: {
162
+ date: '14 June 2018',
163
+ eventHeading: 'Event Heading 6',
164
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
165
+ }
166
+ },
167
+ {
168
+ type: 'event',
169
+ data: {
170
+ date: '15 June 2018',
171
+ eventHeading: 'Event Heading 7',
172
+ image: 'https://www.thetimes.co.uk/imageserver/image/%2Fmethode%2Ftimes%2Fprod%2Fweb%2Fbin%2Ffee23bf0-04d7-11ec-89b3-29a9a04e8645.jpg?crop=1500%2C844%2C0%2C78&resize=1200',
173
+ copy: 'Parturient mi dictumst suspendisse torquent primis potenti donec in parturient aliquam adipiscing bibendum bibendum magna nisi bibendum dignissim in dis a. Scelerisque a ullamcorper id maecenas tempor convallis ac cras. 1'
174
+ }
175
+ }
176
+ ]
177
+ },
178
+ html: '<!DOCTYPE html><html><head><title>The Times - In Article Timeline with Circle Images</title></head><body></body></html>'
179
+ };
180
+ const renderTimelines = () => render(React.createElement(Timelines, { sectionColour: "#636C17" }));
181
+ describe('Timelines', () => {
182
+ beforeEach(() => {
183
+ mockDate.set(1620000000000);
184
+ });
185
+ afterEach(() => {
186
+ mockDate.reset();
187
+ jest.clearAllMocks();
188
+ cleanup();
189
+ });
190
+ it('should render the initial loading state correctly', async () => {
191
+ useFetch.mockReturnValue({ loading: true });
192
+ const { asFragment, findByText } = render(React.createElement(Timelines, { sectionColour: "#636C17" }));
193
+ await findByText('Placeholder');
194
+ expect(asFragment()).toMatchSnapshot();
195
+ });
196
+ it('should render the bullet points component', () => {
197
+ useFetch.mockReturnValue(deckApiPayloadWrapper());
198
+ const { asFragment } = renderTimelines();
199
+ expect(asFragment()).toMatchSnapshot();
200
+ });
201
+ it('should render the circle images component', () => {
202
+ useFetch.mockReturnValue(deckApiPayloadWrapperCircle());
203
+ const { asFragment, getAllByRole } = renderTimelines();
204
+ expect(getAllByRole('img')[0]).toHaveAttribute('src', 'https://www.thetimes.co.uk/imageserver/image/%2Fmethode%2Ftimes%2Fprod%2Fweb%2Fbin%2Ffee23bf0-04d7-11ec-89b3-29a9a04e8645.jpg?crop=1500%2C844%2C0%2C78&resize=1200');
205
+ expect(asFragment()).toMatchSnapshot();
206
+ });
207
+ it('click show all', async () => {
208
+ const { asFragment, getByText, findByText } = render(React.createElement(Timelines, { sectionColour: "#636C17" }));
209
+ fireEvent.click(getByText('Show all'));
210
+ await findByText('Collapse');
211
+ expect(asFragment()).toMatchSnapshot();
212
+ });
213
+ describe('tracking', () => {
214
+ useFetch.mockReturnValue(deckApiPayloadWrapper());
215
+ let oldIntersectionObserver;
216
+ const analyticsStream = jest.fn();
217
+ beforeEach(() => {
218
+ oldIntersectionObserver = window.IntersectionObserver;
219
+ // @ts-ignore
220
+ window.IntersectionObserver = FakeIntersectionObserver;
221
+ });
222
+ afterEach(() => {
223
+ window.IntersectionObserver = oldIntersectionObserver;
224
+ jest.resetAllMocks();
225
+ });
226
+ it('fires scroll event when viewed', () => {
227
+ useFetch.mockReturnValue(deckApiPayloadWrapper());
228
+ render(React.createElement(TrackingContextProvider, { context: {
229
+ component: 'ArticleSkeleton',
230
+ attrs: {
231
+ articleHeadline: 'articleHeadline',
232
+ section: 'section'
233
+ }
234
+ }, analyticsStream: analyticsStream },
235
+ React.createElement(Timelines, { sectionColour: "#636C17" })));
236
+ FakeIntersectionObserver.intersect();
237
+ expect(analyticsStream).toHaveBeenCalledTimes(1);
238
+ expect(analyticsStream).toHaveBeenCalledWith({
239
+ action: 'Scrolled',
240
+ component: 'ArticleSkeleton',
241
+ object: 'InArticleTimelines',
242
+ attrs: {
243
+ articleHeadline: 'articleHeadline',
244
+ component_name: 'A history of injury troubles',
245
+ component_type: 'in-article component : timelines: static',
246
+ eventTime: '2021-05-03T00:00:00.000Z',
247
+ event_navigation_action: 'navigation',
248
+ event_navigation_browsing_method: 'scroll',
249
+ event_navigation_name: 'in-article component displayed : timelines',
250
+ section: 'section'
251
+ }
252
+ });
253
+ });
254
+ });
255
+ });
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZWxpbmVzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9pbi1hcnRpY2xlLXRpbWVsaW5lcy9fX3Rlc3RzX18vVGltZWxpbmVzLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUM7QUFDaEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyx3QkFBd0IsTUFBTSw4Q0FBOEMsQ0FBQztBQUNwRixPQUFPLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8scUJBQXFCLENBQUM7QUFFN0IsSUFBSSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQywrQ0FBc0I7Q0FDMUMsQ0FBQyxDQUFDLENBQUM7QUFFSixJQUFJLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDdkQsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7Q0FDcEIsQ0FBQyxDQUFDLENBQUM7QUFFSixNQUFNLHFCQUFxQixHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbkMsSUFBSSxFQUFFLGNBQWM7Q0FDckIsQ0FBQyxDQUFDO0FBRUgsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLElBQUksRUFBRSxjQUFjO0NBQ3JCLENBQUMsQ0FBQztBQUVILE1B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
@@ -0,0 +1,15 @@
1
+ export declare const Container: import("styled-components").StyledComponent<"div", any, {
2
+ sectionColour: string;
3
+ }, never>;
4
+ export declare const ContentContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
5
+ export declare const StyledShowAllButton: import("styled-components").StyledComponent<"button", any, {}, never>;
6
+ export declare const ListItem: import("styled-components").StyledComponent<"li", any, {}, never>;
7
+ export declare const LeftPanel: import("styled-components").StyledComponent<"div", any, {
8
+ sectionColour: string;
9
+ circularImage: string;
10
+ }, never>;
11
+ export declare const RightPanel: import("styled-components").StyledComponent<"div", any, {}, never>;
12
+ export declare const Date: import("styled-components").StyledComponent<"div", any, {
13
+ sectionColour: string;
14
+ }, never>;
15
+ export declare const SubHeading: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,115 @@
1
+ import styled from 'styled-components';
2
+ import { breakpoints, colours, fonts } from '@times-components/styleguide';
3
+ import { ShowAllButton } from '../common-styles';
4
+ export const Container = styled.div `
5
+ margin: 0 auto 20px auto;
6
+ padding: 20px 0 0;
7
+ background-color: ${colours.functional.backgroundPrimary};
8
+ border-top: ${({ sectionColour }) => `2px solid ${sectionColour}`};
9
+ width: 100%;
10
+
11
+ @media (min-width: ${breakpoints.medium}px) {
12
+ width: 80.8%;
13
+ }
14
+
15
+ @media (min-width: ${breakpoints.wide}px) {
16
+ width: 56.2%;
17
+ }
18
+
19
+ a {
20
+ text-decoration: none;
21
+ }
22
+ `;
23
+ export const ContentContainer = styled.div `
24
+ display: flex;
25
+ flex-direction: column;
26
+ justify-content: space-between;
27
+ padding: 0 16px;
28
+ `;
29
+ export const StyledShowAllButton = styled(ShowAllButton) `
30
+ font-size: 14px;
31
+ margin: 11px 0;
32
+ padding: 12px 15px 10px;
33
+ `;
34
+ export const ListItem = styled.li `
35
+ padding: 12px 0 13px;
36
+ width: 100%;
37
+ position: relative;
38
+ `;
39
+ export const LeftPanel = styled.div `
40
+ display: table;
41
+ float: left;
42
+ width: ${({ circularImage }) => (circularImage ? '80px' : '40px')};
43
+ text-align: center;
44
+ padding-right: ${({ circularImage }) => (circularImage ? '16px' : '24px')};
45
+ height: 100%;
46
+
47
+ & img {
48
+ border-radius: 100%;
49
+ height: 50px;
50
+ width: 50px;
51
+ position: relative;
52
+ margin-left: 16px;
53
+ z-index: 2;
54
+ }
55
+
56
+ & :before {
57
+ content: '';
58
+ background: ${({ sectionColour }) => `${sectionColour}`};
59
+ position: relative;
60
+ top: 0px;
61
+ left: 15px;
62
+ width: 8px;
63
+ height: 8px;
64
+ border-radius: 100%;
65
+ z-index: 1;
66
+ display: ${({ circularImage }) => (circularImage ? 'none' : 'block')};
67
+ }
68
+
69
+ & :after {
70
+ content: '';
71
+ border-right: 1px solid #ccc;
72
+ height: 100%;
73
+ display: block;
74
+ position: absolute;
75
+ top: ${({ circularImage }) => (circularImage ? '60px' : '20px')};
76
+ left: ${({ circularImage }) => (circularImage ? '42px' : '19px')};
77
+ z-index: 1;
78
+ }
79
+
80
+ @media (min-width: ${breakpoints.medium}px) {
81
+ width: ${({ circularImage }) => (circularImage ? '100px' : '39px')};
82
+ padding-right: ${({ circularImage }) => (circularImage ? '16px' : '24px')};
83
+ & img {
84
+ height: 76px;
85
+ width: 76px;
86
+ }
87
+ & :after {
88
+ top: ${({ circularImage }) => (circularImage ? '74px' : '20px')};
89
+ left: ${({ circularImage }) => (circularImage ? '52px' : '19px')};
90
+ }
91
+ }
92
+ `;
93
+ export const RightPanel = styled.div `
94
+ display: grid;
95
+ `;
96
+ export const Date = styled.div `
97
+ font-family: ${fonts.supporting};
98
+ text-transform: uppercase;
99
+ font-size: 12px;
100
+ line-height: 16px;
101
+ margin-bottom: 8px;
102
+ color: ${({ sectionColour }) => `${sectionColour}`};
103
+ `;
104
+ export const SubHeading = styled.div `
105
+ font-size: 20px;
106
+ line-height: 20px;
107
+ color: ${colours.functional.brandColour};
108
+ font-family: ${fonts.headline};
109
+ margin-bottom: 6px;
110
+ @media (min-width: ${breakpoints.medium}px) {
111
+ font-size: 24px;
112
+ line-height: 24px;
113
+ }
114
+ `;
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvaW4tYXJ0aWNsZS10aW1lbGluZXMvc3R5bGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FFakM7OztzQkFHb0IsT0FBTyxDQUFDLFVBQVUsQ0FBQyxpQkFBaUI7Z0JBQzFDLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsYUFBYSxhQUFhLEVBQUU7Ozt1QkFHNUMsV0FBVyxDQUFDLE1BQU07Ozs7dUJBSWxCLFdBQVcsQ0FBQyxJQUFJOzs7Ozs7O0NBT3RDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFBOzs7OztDQUt6QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBOzs7O0NBSXZELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQTs7OztDQUloQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBR2pDOzs7V0FHUyxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzs7bUJBRWhELENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7OztrQkFjekQsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLGFBQWEsRUFBRTs7Ozs7Ozs7ZUFRNUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7Ozs7Ozs7OztXQVM3RCxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUN2RCxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzs7Ozt1QkFJN0MsV0FBVyxDQUFDLE1BQU07YUFDNUIsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7cUJBQ2pELENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDOzs7Ozs7YUFNaEUsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7Y0FDdkQsQ0FBQyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7OztDQUdyRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUE7O0NBRW5DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBMkI7aUJBQ3hDLEtBQUssQ0FBQyxVQUFVOzs7OztXQUt0QixDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsYUFBYSxFQUFFO0NBQ25ELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQTs7O1dBR3pCLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVztpQkFDeEIsS0FBSyxDQUFDLFFBQVE7O3VCQUVSLFdBQVcsQ0FBQyxNQUFNOzs7O0NBSXhDLENBQUMifQ==
@@ -7,12 +7,13 @@ export const OptaFootballFixtures = React.memo(({ season, competition, date_from
7
7
  const ref = React.createRef();
8
8
  const [isReady, setIsReady] = useState(false);
9
9
  useEffect(() => {
10
+ const sport = 'football';
10
11
  initSettings();
11
- initStyleSheet();
12
+ initStyleSheet(sport);
12
13
  initScript().then(() => {
13
14
  if (ref.current) {
14
15
  ref.current.innerHTML = initElement('opta-widget', {
15
- sport: 'football',
16
+ sport,
16
17
  widget: 'fixtures',
17
18
  season,
18
19
  competition,
@@ -25,7 +26,7 @@ export const OptaFootballFixtures = React.memo(({ season, competition, date_from
25
26
  date_format: 'dddd MMMM D YYYY',
26
27
  breakpoints: 520
27
28
  }, initElement('opta-widget', {
28
- sport: 'football',
29
+ sport,
29
30
  widget: 'match_summary',
30
31
  season: '',
31
32
  competition: '',
@@ -46,4 +47,4 @@ export const OptaFootballFixtures = React.memo(({ season, competition, date_from
46
47
  !isReady && (React.createElement(PlaceholderContainer, null,
47
48
  React.createElement(Placeholder, null)))));
48
49
  });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL2Zvb3RiYWxsL2ZpeHR1cmVzL09wdGFGb290YmFsbEZpeHR1cmVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBTTVCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQzFFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLFlBQVksRUFBRSxDQUFDO1FBQ2YsY0FBYyxFQUFFLENBQUM7UUFFakIsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUNqQyxhQUFhLEVBQ2I7b0JBQ0UsS0FBSyxFQUFFLFVBQVU7b0JBQ2pCLE1BQU0sRUFBRSxVQUFVO29CQUNsQixNQUFNO29CQUNOLFdBQVc7b0JBQ1gsU0FBUztvQkFDVCxPQUFPO29CQUNQLElBQUksRUFBRSxJQUFJO29CQUNWLFFBQVEsRUFBRSxNQUFNO29CQUNoQixhQUFhLEVBQUUsSUFBSTtvQkFDbkIsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLFdBQVcsRUFBRSxrQkFBa0I7b0JBQy9CLFdBQVcsRUFBRSxHQUFHO2lCQUNqQixFQUNELFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ3pCLEtBQUssRUFBRSxVQUFVO29CQUNqQixNQUFNLEVBQUUsZUFBZTtvQkFDdkIsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsV0FBVyxFQUFFLEVBQUU7b0JBQ2YsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLElBQUk7b0JBQ1YsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixVQUFVLEVBQUUsS0FBSztvQkFDakIsV0FBVyxFQUFFLEtBQUs7aUJBQ25CLENBQUMsQ0FDSCxDQUFDLFNBQVMsQ0FBQztnQkFFWixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLENBQ0wsb0JBQUMsU0FBUyxJQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVU7UUFDL0Msb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUk7UUFFNUIsQ0FBQyxPQUFPLElBQUksQ0FDWCxvQkFBQyxvQkFBb0I7WUFDbkIsb0JBQUMsV0FBVyxPQUFHLENBQ00sQ0FDeEIsQ0FDUyxDQUNiLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyJ9
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9vcHRhL2Zvb3RiYWxsL2ZpeHR1cmVzL09wdGFGb290YmFsbEZpeHR1cmVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBTTVCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQzFFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUV6QixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDZixHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQ2pDLGFBQWEsRUFDYjtvQkFDRSxLQUFLO29CQUNMLE1BQU0sRUFBRSxVQUFVO29CQUNsQixNQUFNO29CQUNOLFdBQVc7b0JBQ1gsU0FBUztvQkFDVCxPQUFPO29CQUNQLElBQUksRUFBRSxJQUFJO29CQUNWLFFBQVEsRUFBRSxNQUFNO29CQUNoQixhQUFhLEVBQUUsSUFBSTtvQkFDbkIsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLFdBQVcsRUFBRSxrQkFBa0I7b0JBQy9CLFdBQVcsRUFBRSxHQUFHO2lCQUNqQixFQUNELFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ3pCLEtBQUs7b0JBQ0wsTUFBTSxFQUFFLGVBQWU7b0JBQ3ZCLE1BQU0sRUFBRSxFQUFFO29CQUNWLFdBQVcsRUFBRSxFQUFFO29CQUNmLEtBQUssRUFBRSxFQUFFO29CQUNULElBQUksRUFBRSxJQUFJO29CQUNWLFdBQVcsRUFBRSxJQUFJO29CQUNqQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsVUFBVSxFQUFFLEtBQUs7b0JBQ2pCLFdBQVcsRUFBRSxLQUFLO2lCQUNuQixDQUFDLENBQ0gsQ0FBQyxTQUFTLENBQUM7Z0JBRVosYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQy9DLG9CQUFDLGVBQWUsSUFBQyxHQUFHLEVBQUUsR0FBRyxHQUFJO1FBRTVCLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import 'regenerator-runtime';
2
+ import '@testing-library/jest-dom';
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { render, waitForElementToBeRemoved } from '@testing-library/react';
3
+ import 'regenerator-runtime';
4
+ import '@testing-library/jest-dom';
5
+ jest.mock('@times-components/image', () => ({
6
+ Placeholder: () => React.createElement(React.Fragment, null, "Placeholder")
7
+ }));
8
+ const mockInitSettings = jest.fn();
9
+ const mockInitStyleSheet = jest.fn();
10
+ const mockInitComponent = jest.fn();
11
+ const mockInitElement = () => {
12
+ const element = document.createElement('div');
13
+ element.appendChild(document.createTextNode('Widget'));
14
+ return element;
15
+ };
16
+ jest.mock('../../../utils/config', () => ({
17
+ initSettings: mockInitSettings,
18
+ initStyleSheet: mockInitStyleSheet,
19
+ initScript: () => new Promise(resolve => resolve({})),
20
+ initElement: mockInitElement,
21
+ initComponent: mockInitComponent
22
+ }));
23
+ import { OptaFootballFixtures } from '../OptaFootballFixtures';
24
+ const requiredProps = {
25
+ season: '2020',
26
+ competition: '3',
27
+ date_from: '2021-06-20',
28
+ date_to: '2021-07-11'
29
+ };
30
+ describe('OptaFootballFixtures', () => {
31
+ it('should render correctly', async () => {
32
+ const { asFragment, getByText } = render(React.createElement(OptaFootballFixtures, Object.assign({}, requiredProps)));
33
+ expect(asFragment()).toMatchSnapshot();
34
+ await waitForElementToBeRemoved(getByText('Placeholder'));
35
+ expect(mockInitSettings).toHaveBeenCalledTimes(1);
36
+ expect(mockInitStyleSheet).toHaveBeenCalledTimes(1);
37
+ expect(mockInitComponent).toHaveBeenCalledTimes(1);
38
+ expect(asFragment()).toMatchSnapshot();
39
+ });
40
+ });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsRml4dHVyZXMudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvZml4dHVyZXMvX190ZXN0c19fL09wdGFGb290YmFsbEZpeHR1cmVzLnRlc3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFM0UsT0FBTyxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLDJCQUEyQixDQUFDO0FBRW5DLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxQyxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsd0RBQWdCO0NBQ3BDLENBQUMsQ0FBQyxDQUFDO0FBRUosTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDbkMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDckMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFcEMsTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQzNCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDdkQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLFlBQVksRUFBRSxnQkFBZ0I7SUFDOUIsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckQsV0FBVyxFQUFFLGVBQWU7SUFDNUIsYUFBYSxFQUFFLGlCQUFpQjtDQUNqQyxDQUFDLENBQUMsQ0FBQztBQUVKLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRS9ELE1BQU0sYUFBYSxHQUFHO0lBQ3BCLE1BQU0sRUFBRSxNQUFNO0lBQ2QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLFlBQVk7SUFDdkIsT0FBTyxFQUFFLFlBQVk7Q0FDdEIsQ0FBQztBQUVGLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7SUFDcEMsRUFBRSxDQUFDLHlCQUF5QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3ZDLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUN0QyxvQkFBQyxvQkFBb0Isb0JBQUssYUFBYSxFQUFJLENBQzVDLENBQUM7UUFDRixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QyxNQUFNLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBRTFELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMifQ==
@@ -7,12 +7,13 @@ export const OptaFootballMatchStats = React.memo(({ season, competition, match,
7
7
  const ref = React.createRef();
8
8
  const [isReady, setIsReady] = useState(false);
9
9
  useEffect(() => {
10
+ const sport = 'football';
10
11
  initSettings();
11
- initStyleSheet();
12
+ initStyleSheet(sport);
12
13
  initScript().then(() => {
13
14
  if (ref.current) {
14
15
  ref.current.innerHTML = initElement('opta-widget', {
15
- sport: 'football',
16
+ sport,
16
17
  widget: 'matchstats',
17
18
  season,
18
19
  competition,
@@ -39,4 +40,4 @@ export const OptaFootballMatchStats = React.memo(({ season, competition, match,
39
40
  !isReady && (React.createElement(PlaceholderContainer, null,
40
41
  React.createElement(Placeholder, null)))));
41
42
  });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsTWF0Y2hTdGF0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvbWF0Y2gtc3RhdHMvT3B0YUZvb3RiYWxsTWF0Y2hTdGF0cy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGFBQWEsRUFDZCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUs5QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQzdELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLFlBQVksRUFBRSxDQUFDO1FBQ2YsY0FBYyxFQUFFLENBQUM7UUFFakIsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRTtvQkFDakQsS0FBSyxFQUFFLFVBQVU7b0JBQ2pCLE1BQU0sRUFBRSxZQUFZO29CQUNwQixNQUFNO29CQUNOLFdBQVc7b0JBQ1gsS0FBSztvQkFDTCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsV0FBVyxFQUFFLFVBQVU7b0JBQ3ZCLGdCQUFnQixFQUNkLHNIQUFzSDtvQkFDeEgsSUFBSSxFQUFFLElBQUk7b0JBQ1YsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsbUJBQW1CLEVBQUUsSUFBSTtvQkFDekIscUJBQXFCLEVBQUUsSUFBSTtvQkFDM0IsU0FBUyxFQUFFLElBQUk7b0JBQ2YsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLFdBQVcsRUFBRSxZQUFZO29CQUN6QixXQUFXLEVBQUUsS0FBSztpQkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFFYixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLENBQ0wsb0JBQUMsU0FBUyxJQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVU7UUFDL0Msb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUk7UUFFNUIsQ0FBQyxPQUFPLElBQUksQ0FDWCxvQkFBQyxvQkFBb0I7WUFDbkIsb0JBQUMsV0FBVyxPQUFHLENBQ00sQ0FDeEIsQ0FDUyxDQUNiLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyJ9
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsTWF0Y2hTdGF0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29wdGEvZm9vdGJhbGwvbWF0Y2gtc3RhdHMvT3B0YUZvb3RiYWxsTWF0Y2hTdGF0cy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGNBQWMsRUFDZCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGFBQWEsRUFDZCxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUs5QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO0lBQzdELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLEVBQWtCLENBQUM7SUFFOUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxRQUFRLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFdkQsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQztRQUV6QixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV0QixVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JCLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRTtnQkFDZixHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxXQUFXLENBQUMsYUFBYSxFQUFFO29CQUNqRCxLQUFLO29CQUNMLE1BQU0sRUFBRSxZQUFZO29CQUNwQixNQUFNO29CQUNOLFdBQVc7b0JBQ1gsS0FBSztvQkFDTCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsV0FBVyxFQUFFLFVBQVU7b0JBQ3ZCLGdCQUFnQixFQUNkLHNIQUFzSDtvQkFDeEgsSUFBSSxFQUFFLElBQUk7b0JBQ1YsaUJBQWlCLEVBQUUsSUFBSTtvQkFDdkIsbUJBQW1CLEVBQUUsSUFBSTtvQkFDekIscUJBQXFCLEVBQUUsSUFBSTtvQkFDM0IsU0FBUyxFQUFFLElBQUk7b0JBQ2YsV0FBVyxFQUFFLElBQUk7b0JBQ2pCLFdBQVcsRUFBRSxZQUFZO29CQUN6QixXQUFXLEVBQUUsS0FBSztpQkFDbkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFFYixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFUCxPQUFPLENBQ0wsb0JBQUMsU0FBUyxJQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVU7UUFDL0Msb0JBQUMsZUFBZSxJQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUk7UUFFNUIsQ0FBQyxPQUFPLElBQUksQ0FDWCxvQkFBQyxvQkFBb0I7WUFDbkIsb0JBQUMsV0FBVyxPQUFHLENBQ00sQ0FDeEIsQ0FDUyxDQUNiLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyJ9
@@ -0,0 +1,2 @@
1
+ import 'regenerator-runtime';
2
+ import '@testing-library/jest-dom';
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { render, waitForElementToBeRemoved } from '@testing-library/react';
3
+ import 'regenerator-runtime';
4
+ import '@testing-library/jest-dom';
5
+ jest.mock('@times-components/image', () => ({
6
+ Placeholder: () => React.createElement(React.Fragment, null, "Placeholder")
7
+ }));
8
+ const mockInitSettings = jest.fn();
9
+ const mockInitStyleSheet = jest.fn();
10
+ const mockInitComponent = jest.fn();
11
+ const mockInitElement = () => {
12
+ const element = document.createElement('div');
13
+ element.appendChild(document.createTextNode('Widget'));
14
+ return element;
15
+ };
16
+ jest.mock('../../../utils/config', () => ({
17
+ initSettings: mockInitSettings,
18
+ initStyleSheet: mockInitStyleSheet,
19
+ initScript: () => new Promise(resolve => resolve({})),
20
+ initElement: mockInitElement,
21
+ initComponent: mockInitComponent
22
+ }));
23
+ import { OptaFootballMatchStats } from '../OptaFootballMatchStats';
24
+ const requiredProps = {
25
+ season: '2020',
26
+ competition: '3',
27
+ match: '2041900'
28
+ };
29
+ describe('OptaFootballMatchStats', () => {
30
+ it('should render correctly', async () => {
31
+ const { asFragment, getByText } = render(React.createElement(OptaFootballMatchStats, Object.assign({}, requiredProps)));
32
+ expect(asFragment()).toMatchSnapshot();
33
+ await waitForElementToBeRemoved(getByText('Placeholder'));
34
+ expect(mockInitSettings).toHaveBeenCalledTimes(1);
35
+ expect(mockInitStyleSheet).toHaveBeenCalledTimes(1);
36
+ expect(mockInitComponent).toHaveBeenCalledTimes(1);
37
+ expect(asFragment()).toMatchSnapshot();
38
+ });
39
+ });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsTWF0Y2hTdGF0cy50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9mb290YmFsbC9tYXRjaC1zdGF0cy9fX3Rlc3RzX18vT3B0YUZvb3RiYWxsTWF0Y2hTdGF0cy50ZXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTNFLE9BQU8scUJBQXFCLENBQUM7QUFDN0IsT0FBTywyQkFBMkIsQ0FBQztBQUVuQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDMUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLHdEQUFnQjtDQUNwQyxDQUFDLENBQUMsQ0FBQztBQUVKLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ25DLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBQ3JDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0FBRXBDLE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRTtJQUMzQixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQUVGLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN4QyxZQUFZLEVBQUUsZ0JBQWdCO0lBQzlCLGNBQWMsRUFBRSxrQkFBa0I7SUFDbEMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELFdBQVcsRUFBRSxlQUFlO0lBQzVCLGFBQWEsRUFBRSxpQkFBaUI7Q0FDakMsQ0FBQyxDQUFDLENBQUM7QUFFSixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVuRSxNQUFNLGFBQWEsR0FBRztJQUNwQixNQUFNLEVBQUUsTUFBTTtJQUNkLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUM7QUFFRixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO0lBQ3RDLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN2QyxNQUFNLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FDdEMsb0JBQUMsc0JBQXNCLG9CQUFLLGFBQWEsRUFBSSxDQUM5QyxDQUFDO1FBQ0YsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkMsTUFBTSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztRQUUxRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuRCxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=
@@ -7,12 +7,13 @@ export const OptaFootballStandings = React.memo(({ season, competition, default_
7
7
  const ref = React.createRef();
8
8
  const [isReady, setIsReady] = useState(false);
9
9
  useEffect(() => {
10
+ const sport = 'football';
10
11
  initSettings();
11
- initStyleSheet();
12
+ initStyleSheet(sport);
12
13
  initScript().then(() => {
13
14
  if (ref.current) {
14
15
  ref.current.innerHTML = initElement('opta-widget', {
15
- sport: 'football',
16
+ sport,
16
17
  widget: 'standings',
17
18
  season,
18
19
  competition,
@@ -32,4 +33,4 @@ export const OptaFootballStandings = React.memo(({ season, competition, default_
32
33
  !isReady && (React.createElement(PlaceholderContainer, null,
33
34
  React.createElement(Placeholder, null)))));
34
35
  });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsU3RhbmRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9mb290YmFsbC9zdGFuZGluZ3MvT3B0YUZvb3RiYWxsU3RhbmRpbmdzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBTTdCLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQUNuRSxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBRTlDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXZELFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixZQUFZLEVBQUUsQ0FBQztRQUNmLGNBQWMsRUFBRSxDQUFDO1FBRWpCLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDckIsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO2dCQUNmLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUU7b0JBQ2pELEtBQUssRUFBRSxVQUFVO29CQUNqQixNQUFNLEVBQUUsV0FBVztvQkFDbkIsTUFBTTtvQkFDTixXQUFXO29CQUNYLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQkFDL0MsV0FBVztvQkFDWCxXQUFXLEVBQUUsSUFBSTtvQkFDakIsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQy9DLG9CQUFDLGVBQWUsSUFBQyxHQUFHLEVBQUUsR0FBRyxHQUFJO1FBRTVCLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3B0YUZvb3RiYWxsU3RhbmRpbmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3B0YS9mb290YmFsbC9zdGFuZGluZ3MvT3B0YUZvb3RiYWxsU3RhbmRpbmdzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXRELE9BQU8sRUFDTCxZQUFZLEVBQ1osY0FBYyxFQUNkLFVBQVUsRUFDVixXQUFXLEVBQ1gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBTTdCLEtBQUssQ0FBQyxJQUFJLENBQ2IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtJQUNuRSxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxFQUFrQixDQUFDO0lBRTlDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXZELFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUM7UUFFekIsWUFBWSxFQUFFLENBQUM7UUFDZixjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNyQixJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRTtvQkFDakQsS0FBSztvQkFDTCxNQUFNLEVBQUUsV0FBVztvQkFDbkIsTUFBTTtvQkFDTixXQUFXO29CQUNYLElBQUksRUFBRSxJQUFJO29CQUNWLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUztvQkFDL0MsV0FBVztvQkFDWCxXQUFXLEVBQUUsSUFBSTtvQkFDakIsV0FBVyxFQUFFLEdBQUc7aUJBQ2pCLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBRWIsYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVO1FBQy9DLG9CQUFDLGVBQWUsSUFBQyxHQUFHLEVBQUUsR0FBRyxHQUFJO1FBRTVCLENBQUMsT0FBTyxJQUFJLENBQ1gsb0JBQUMsb0JBQW9CO1lBQ25CLG9CQUFDLFdBQVcsT0FBRyxDQUNNLENBQ3hCLENBQ1MsQ0FDYixDQUFDO0FBQ0osQ0FBQyxDQUNGLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import 'regenerator-runtime';
2
+ import '@testing-library/jest-dom';