@times-components/ts-components 1.52.4 → 1.54.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.
- package/CHANGELOG.md +32 -0
- package/dist/components/newsletter-puff/AutoNewsletterPuff.d.ts +2 -3
- package/dist/components/newsletter-puff/AutoNewsletterPuff.js +3 -3
- package/dist/components/newsletter-puff/InlineNewsletterPuff.d.ts +2 -3
- package/dist/components/newsletter-puff/InlineNewsletterPuff.js +7 -22
- package/dist/components/newsletter-puff/NewsletterPuff.stories.js +5 -5
- package/dist/components/newsletter-puff/__tests__/AutoNewsletterPuff.test.js +2 -4
- package/dist/components/newsletter-puff/__tests__/InlineNewsletterPuff.test.js +12 -94
- package/dist/components/newsletter-puff/loading-overlay/LoadingOverlay.d.ts +1 -0
- package/dist/components/newsletter-puff/loading-overlay/LoadingOverlay.js +10 -0
- package/dist/components/newsletter-puff/loading-overlay/styles.d.ts +3 -0
- package/dist/components/newsletter-puff/loading-overlay/styles.js +50 -0
- package/dist/components/newsletter-puff/newsletter/Newsletter.d.ts +12 -0
- package/dist/components/newsletter-puff/newsletter/Newsletter.js +34 -0
- package/dist/components/newsletter-puff/newsletter/styles.d.ts +8 -0
- package/dist/components/newsletter-puff/newsletter/styles.js +52 -0
- package/dist/components/newsletter-puff/{NewsletterPuffButton.d.ts → newsletter-puff-button/NewsletterPuffButton.d.ts} +2 -1
- package/dist/components/newsletter-puff/newsletter-puff-button/NewsletterPuffButton.js +24 -0
- package/dist/components/newsletter-puff/{__tests__ → newsletter-puff-button/__tests__}/NewsletterPuffButton.test.d.ts +0 -0
- package/dist/components/newsletter-puff/newsletter-puff-button/__tests__/NewsletterPuffButton.test.js +41 -0
- package/dist/components/newsletter-puff/newsletter-puff-button/styles.d.ts +15 -0
- package/dist/components/newsletter-puff/newsletter-puff-button/styles.js +26 -0
- package/dist/components/newsletter-puff/{NewsletterPuffLink.d.ts → newsletter-puff-link/NewsletterPuffLink.d.ts} +0 -0
- package/dist/components/newsletter-puff/newsletter-puff-link/NewsletterPuffLink.js +29 -0
- package/dist/components/newsletter-puff/{__tests__ → newsletter-puff-link/__tests__}/NewsletterPuffLink.test.d.ts +0 -0
- package/dist/components/newsletter-puff/newsletter-puff-link/__tests__/NewsletterPuffLink.test.js +58 -0
- package/dist/components/newsletter-puff/preview-newsletter-puff/PreviewNewsletterPuff.d.ts +7 -0
- package/dist/components/newsletter-puff/preview-newsletter-puff/PreviewNewsletterPuff.js +11 -0
- package/dist/components/newsletter-puff/{__tests__ → preview-newsletter-puff/__tests__}/PreviewNewsletterPuff.test.d.ts +0 -0
- package/dist/components/newsletter-puff/preview-newsletter-puff/__tests__/PreviewNewsletterPuff.test.js +17 -0
- package/dist/components/newsletter-puff/styles.d.ts +6 -29
- package/dist/components/newsletter-puff/styles.js +11 -88
- package/dist/helpers/text-formatting/CapitaliseFirstCharacter.d.ts +1 -0
- package/dist/helpers/text-formatting/CapitaliseFirstCharacter.js +9 -0
- package/dist/helpers/text-formatting/__tests__/CapitaliseFirstCharacter.test.d.ts +1 -0
- package/dist/helpers/text-formatting/__tests__/CapitaliseFirstCharacter.test.js +12 -0
- package/dist/index.d.ts +1 -8
- package/dist/index.js +2 -10
- package/package.json +3 -3
- package/rnw.js +1 -1
- package/src/components/newsletter-puff/AutoNewsletterPuff.tsx +3 -6
- package/src/components/newsletter-puff/InlineNewsletterPuff.tsx +16 -53
- package/src/components/newsletter-puff/NewsletterPuff.stories.tsx +4 -13
- package/src/components/newsletter-puff/__tests__/AutoNewsletterPuff.test.tsx +1 -3
- package/src/components/newsletter-puff/__tests__/InlineNewsletterPuff.test.tsx +13 -119
- package/src/components/newsletter-puff/__tests__/__snapshots__/AutoNewsletterPuff.test.tsx.snap +4 -4
- package/src/components/newsletter-puff/__tests__/__snapshots__/InlineNewsletterPuff.test.tsx.snap +68 -260
- package/src/components/newsletter-puff/loading-overlay/LoadingOverlay.tsx +15 -0
- package/src/components/newsletter-puff/loading-overlay/styles.ts +54 -0
- package/src/components/newsletter-puff/newsletter/Newsletter.tsx +79 -0
- package/src/components/newsletter-puff/newsletter/styles.ts +65 -0
- package/src/components/newsletter-puff/{NewsletterPuffButton.tsx → newsletter-puff-button/NewsletterPuffButton.tsx} +10 -8
- package/src/components/newsletter-puff/{__tests__ → newsletter-puff-button/__tests__}/NewsletterPuffButton.test.tsx +12 -20
- package/src/components/newsletter-puff/newsletter-puff-button/styles.ts +28 -0
- package/src/components/newsletter-puff/{NewsletterPuffLink.tsx → newsletter-puff-link/NewsletterPuffLink.tsx} +5 -14
- package/src/components/newsletter-puff/{__tests__ → newsletter-puff-link/__tests__}/NewsletterPuffLink.test.tsx +5 -19
- package/src/components/newsletter-puff/preview-newsletter-puff/PreviewNewsletterPuff.tsx +32 -0
- package/src/components/newsletter-puff/{__tests__ → preview-newsletter-puff/__tests__}/PreviewNewsletterPuff.test.tsx +2 -5
- package/src/components/newsletter-puff/preview-newsletter-puff/__tests__/__snapshots__/PreviewNewsletterPuff.test.tsx.snap +36 -0
- package/src/components/newsletter-puff/styles.ts +10 -100
- package/src/helpers/text-formatting/CapitaliseFirstCharacter.ts +9 -0
- package/src/helpers/text-formatting/__tests__/CapitaliseFirstCharacter.test.tsx +13 -0
- package/src/index.ts +2 -27
- package/dist/components/newsletter-puff/NewsletterPuffButton.js +0 -24
- package/dist/components/newsletter-puff/NewsletterPuffLink.js +0 -34
- package/dist/components/newsletter-puff/PreviewNewsletterPuff.d.ts +0 -8
- package/dist/components/newsletter-puff/PreviewNewsletterPuff.js +0 -14
- package/dist/components/newsletter-puff/__tests__/NewsletterPuffButton.test.js +0 -47
- package/dist/components/newsletter-puff/__tests__/NewsletterPuffLink.test.js +0 -64
- package/dist/components/newsletter-puff/__tests__/PreviewNewsletterPuff.test.js +0 -18
- package/src/components/newsletter-puff/PreviewNewsletterPuff.tsx +0 -40
- package/src/components/newsletter-puff/__tests__/__snapshots__/NewsletterPuffButton.test.tsx.snap +0 -27
- package/src/components/newsletter-puff/__tests__/__snapshots__/NewsletterPuffLink.test.tsx.snap +0 -40
- package/src/components/newsletter-puff/__tests__/__snapshots__/PreviewNewsletterPuff.test.tsx.snap +0 -83
|
@@ -6,8 +6,7 @@ export const AutoNewsletterPuff = ({
|
|
|
6
6
|
code,
|
|
7
7
|
copy,
|
|
8
8
|
headline,
|
|
9
|
-
|
|
10
|
-
label
|
|
9
|
+
section
|
|
11
10
|
}: AutoNewsletterPuffProps) => (
|
|
12
11
|
<ViewCountWrapper
|
|
13
12
|
trackingName={`auto-puff-${code}`}
|
|
@@ -17,8 +16,7 @@ export const AutoNewsletterPuff = ({
|
|
|
17
16
|
code={code}
|
|
18
17
|
copy={copy}
|
|
19
18
|
headline={headline}
|
|
20
|
-
|
|
21
|
-
label={label}
|
|
19
|
+
section={section}
|
|
22
20
|
/>
|
|
23
21
|
</ViewCountWrapper>
|
|
24
22
|
);
|
|
@@ -27,6 +25,5 @@ type AutoNewsletterPuffProps = {
|
|
|
27
25
|
code: string;
|
|
28
26
|
copy: string;
|
|
29
27
|
headline: string;
|
|
30
|
-
|
|
31
|
-
label?: string;
|
|
28
|
+
section?: string;
|
|
32
29
|
};
|
|
@@ -3,32 +3,19 @@ import { Mutation } from 'react-apollo';
|
|
|
3
3
|
|
|
4
4
|
import { GetNewsletter } from '@times-components/provider';
|
|
5
5
|
import { subscribeNewsletter as subscribeNewsletterMutation } from '@times-components/provider-queries';
|
|
6
|
-
import
|
|
6
|
+
import { Placeholder } from '@times-components/image';
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
import { NewsletterPuffLink } from './NewsletterPuffLink';
|
|
8
|
+
import { Newsletter } from './newsletter/Newsletter';
|
|
11
9
|
|
|
12
10
|
import { TrackingContextProvider } from '../../helpers/tracking/TrackingContextProvider';
|
|
11
|
+
import { capitaliseFirstCharacter } from '../../helpers/text-formatting/CapitaliseFirstCharacter';
|
|
13
12
|
|
|
14
|
-
import {
|
|
15
|
-
InpContainer,
|
|
16
|
-
InpCopy,
|
|
17
|
-
InpImageContainer,
|
|
18
|
-
InpPreferencesContainer,
|
|
19
|
-
InpSignupContainer,
|
|
20
|
-
InpSignupCTAContainer,
|
|
21
|
-
InpSignupHeadline,
|
|
22
|
-
InpSignupLabel,
|
|
23
|
-
InpSubscribedContainer,
|
|
24
|
-
InpSubscribedHeadline
|
|
25
|
-
} from './styles';
|
|
13
|
+
import { InpContainer } from './styles';
|
|
26
14
|
|
|
27
15
|
type InlineNewsletterPuffProps = {
|
|
28
16
|
copy: string;
|
|
29
17
|
headline: string;
|
|
30
|
-
|
|
31
|
-
label?: string;
|
|
18
|
+
section?: string;
|
|
32
19
|
code: string;
|
|
33
20
|
};
|
|
34
21
|
|
|
@@ -36,8 +23,7 @@ export const InlineNewsletterPuff = ({
|
|
|
36
23
|
code,
|
|
37
24
|
copy,
|
|
38
25
|
headline,
|
|
39
|
-
|
|
40
|
-
label
|
|
26
|
+
section
|
|
41
27
|
}: InlineNewsletterPuffProps) => {
|
|
42
28
|
const [justSubscribed, setJustSubscribed] = useState(false);
|
|
43
29
|
|
|
@@ -90,39 +76,16 @@ export const InlineNewsletterPuff = ({
|
|
|
90
76
|
}}
|
|
91
77
|
>
|
|
92
78
|
{({ intersectObserverRef }) => (
|
|
93
|
-
<
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
{
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
</InpSubscribedHeadline>
|
|
104
|
-
<InpPreferencesContainer>
|
|
105
|
-
<NewsletterPuffLink />
|
|
106
|
-
</InpPreferencesContainer>
|
|
107
|
-
</InpSubscribedContainer>
|
|
108
|
-
) : (
|
|
109
|
-
<InpSignupContainer>
|
|
110
|
-
<InpSignupLabel>{label}</InpSignupLabel>
|
|
111
|
-
<InpSignupHeadline>{headline}</InpSignupHeadline>
|
|
112
|
-
<InpCopy>{copy}</InpCopy>
|
|
113
|
-
<InpSignupCTAContainer ref={intersectObserverRef}>
|
|
114
|
-
<NewsletterPuffButton
|
|
115
|
-
updatingSubscription={updatingSubscription}
|
|
116
|
-
onPress={() => {
|
|
117
|
-
if (!updatingSubscription) {
|
|
118
|
-
subscribeNewsletter({ variables: { code } });
|
|
119
|
-
}
|
|
120
|
-
}}
|
|
121
|
-
/>
|
|
122
|
-
</InpSignupCTAContainer>
|
|
123
|
-
</InpSignupContainer>
|
|
124
|
-
)}
|
|
125
|
-
</InpContainer>
|
|
79
|
+
<Newsletter
|
|
80
|
+
intersectObserverRef={intersectObserverRef}
|
|
81
|
+
section={capitaliseFirstCharacter(section)}
|
|
82
|
+
justSubscribed={justSubscribed}
|
|
83
|
+
headline={headline}
|
|
84
|
+
updatingSubscription={updatingSubscription}
|
|
85
|
+
copy={copy}
|
|
86
|
+
code={code}
|
|
87
|
+
subscribeNewsletter={subscribeNewsletter}
|
|
88
|
+
/>
|
|
126
89
|
)}
|
|
127
90
|
</TrackingContextProvider>
|
|
128
91
|
)}
|
|
@@ -11,7 +11,7 @@ import { AutoNewsletterPuff } from './AutoNewsletterPuff';
|
|
|
11
11
|
import { InlineNewsletterPuff } from './InlineNewsletterPuff';
|
|
12
12
|
|
|
13
13
|
import { TrackingContextProvider } from '../../helpers/tracking/TrackingContextProvider';
|
|
14
|
-
import { PreviewNewsletterPuff } from './PreviewNewsletterPuff';
|
|
14
|
+
import { PreviewNewsletterPuff } from './preview-newsletter-puff/PreviewNewsletterPuff';
|
|
15
15
|
|
|
16
16
|
import analyticsStream from '../../fixtures/analytics-actions/analytics-actions';
|
|
17
17
|
|
|
@@ -72,10 +72,7 @@ const showcase = {
|
|
|
72
72
|
'copy',
|
|
73
73
|
'We’ll send you our top stories, across all sections, straight to your inbox. Simple as that.'
|
|
74
74
|
)}
|
|
75
|
-
|
|
76
|
-
'imageUri',
|
|
77
|
-
'https://www.thetimes.co.uk/imageserver/image/methode%2Ftimes%2Fprod%2Fweb%2Fbin%2F728c3e68-5311-4533-809a-b313a6503789.jpg?resize=800'
|
|
78
|
-
)}
|
|
75
|
+
section="sport"
|
|
79
76
|
/>
|
|
80
77
|
</TrackingContextProvider>
|
|
81
78
|
</MockedProvider>
|
|
@@ -94,16 +91,13 @@ const showcase = {
|
|
|
94
91
|
context={{ component: 'ArticleSkeleton' }}
|
|
95
92
|
>
|
|
96
93
|
<InlineNewsletterPuff
|
|
94
|
+
section="news"
|
|
97
95
|
code={text('code', 'TNL-101')}
|
|
98
96
|
headline={text('headline', 'Best of Times')}
|
|
99
97
|
copy={text(
|
|
100
98
|
'copy',
|
|
101
99
|
'We’ll send you our top stories, across all sections, straight to your inbox. Simple as that.'
|
|
102
100
|
)}
|
|
103
|
-
imageUri={text(
|
|
104
|
-
'imageUri',
|
|
105
|
-
'https://www.thetimes.co.uk/imageserver/image/methode%2Ftimes%2Fprod%2Fweb%2Fbin%2F728c3e68-5311-4533-809a-b313a6503789.jpg?resize=800'
|
|
106
|
-
)}
|
|
107
101
|
/>
|
|
108
102
|
</TrackingContextProvider>
|
|
109
103
|
</MockedProvider>
|
|
@@ -117,15 +111,12 @@ const showcase = {
|
|
|
117
111
|
// eslint-disable-next-line react/prop-types
|
|
118
112
|
component: ({ text }: any) => (
|
|
119
113
|
<PreviewNewsletterPuff
|
|
114
|
+
section="sport"
|
|
120
115
|
headline={text('headline', 'Best of Times')}
|
|
121
116
|
copy={text(
|
|
122
117
|
'copy',
|
|
123
118
|
'We’ll send you our top stories, across all sections, straight to your inbox. Simple as that.'
|
|
124
119
|
)}
|
|
125
|
-
imageUri={text(
|
|
126
|
-
'imageUri',
|
|
127
|
-
'https://www.thetimes.co.uk/imageserver/image/methode%2Ftimes%2Fprod%2Fweb%2Fbin%2F728c3e68-5311-4533-809a-b313a6503789.jpg?resize=800'
|
|
128
|
-
)}
|
|
129
120
|
/>
|
|
130
121
|
),
|
|
131
122
|
|
|
@@ -69,13 +69,10 @@ const renderComponent = (
|
|
|
69
69
|
<InlineNewsletterPuff
|
|
70
70
|
{...{
|
|
71
71
|
code: 'TNL-119',
|
|
72
|
-
|
|
73
|
-
label: 'STRAIGHT IN YOUR INBOX',
|
|
72
|
+
section: 'news',
|
|
74
73
|
headline: 'Politics. Explained.',
|
|
75
74
|
copy:
|
|
76
|
-
'Sign up to receive our brilliant Red Box newsletter, Matt Chorley`s poke at politics delivered every weekday morning at 8am.'
|
|
77
|
-
imageUri:
|
|
78
|
-
'https://nuk-tnl-deck-prod-static.s3-eu-west-1.amazonaws.com/uploads/2aa9050e6c3d4de682f11a4802ebba96.jpg'
|
|
75
|
+
'Sign up to receive our brilliant Red Box newsletter, Matt Chorley`s poke at politics delivered every weekday morning at 8am.'
|
|
79
76
|
}}
|
|
80
77
|
/>
|
|
81
78
|
</TrackingContextProvider>
|
|
@@ -100,7 +97,15 @@ describe('Inline Newsletter Puff', () => {
|
|
|
100
97
|
|
|
101
98
|
it('renders signup state', async () => {
|
|
102
99
|
const component = renderComponent();
|
|
103
|
-
await component.
|
|
100
|
+
await component.findAllByText('One click sign up');
|
|
101
|
+
expect(component.baseElement).toMatchSnapshot();
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
it('renders loading state state', async () => {
|
|
105
|
+
const component = renderComponent();
|
|
106
|
+
const oneClickSignUp = await component.findAllByText('One click sign up');
|
|
107
|
+
|
|
108
|
+
fireEvent.click(oneClickSignUp[0]);
|
|
104
109
|
expect(component.baseElement).toMatchSnapshot();
|
|
105
110
|
});
|
|
106
111
|
|
|
@@ -138,90 +143,6 @@ describe('Inline Newsletter Puff', () => {
|
|
|
138
143
|
expect(component.baseElement).toMatchSnapshot();
|
|
139
144
|
});
|
|
140
145
|
|
|
141
|
-
describe('Clicking Subscribe', () => {
|
|
142
|
-
it("renders 'saving' when the button is clicked", async () => {
|
|
143
|
-
const component = renderComponent(() => true);
|
|
144
|
-
|
|
145
|
-
const signupButton = await component.findByText('Sign up now');
|
|
146
|
-
fireEvent.click(signupButton);
|
|
147
|
-
|
|
148
|
-
expect(component.baseElement).toMatchSnapshot();
|
|
149
|
-
expect(await component.findByText('Saving…')).toBeTruthy();
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
it('triggers analytics when subscribed', async () => {
|
|
153
|
-
const analyticsStream = jest.fn();
|
|
154
|
-
const component = renderComponent(analyticsStream);
|
|
155
|
-
|
|
156
|
-
const signupButton = await component.findByText('Sign up now');
|
|
157
|
-
fireEvent.click(signupButton);
|
|
158
|
-
|
|
159
|
-
await component.findByText('Saving…');
|
|
160
|
-
|
|
161
|
-
expect(analyticsStream).toHaveBeenCalledWith({
|
|
162
|
-
action: 'Clicked',
|
|
163
|
-
component: 'ArticleSkeleton',
|
|
164
|
-
object: 'NewsletterPuffButton',
|
|
165
|
-
attrs: {
|
|
166
|
-
article_parent_name: 'RED BOX',
|
|
167
|
-
eventTime: '2021-05-03T00:00:00.000Z',
|
|
168
|
-
event_navigation_action: 'navigation',
|
|
169
|
-
event_navigation_browsing_method: 'click',
|
|
170
|
-
event_navigation_name: 'widget : puff : sign up now'
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
});
|
|
174
|
-
});
|
|
175
|
-
|
|
176
|
-
describe('Manage preferences ', () => {
|
|
177
|
-
beforeEach(() => {
|
|
178
|
-
mockDate.set(1620000000000);
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
afterEach(() => {
|
|
182
|
-
mockDate.reset();
|
|
183
|
-
jest.clearAllMocks();
|
|
184
|
-
cleanup();
|
|
185
|
-
});
|
|
186
|
-
it('renders the success view after subscribing ', async () => {
|
|
187
|
-
const component = renderComponent(() => true);
|
|
188
|
-
|
|
189
|
-
const signupButton = await component.findByText('Sign up now');
|
|
190
|
-
fireEvent.click(signupButton);
|
|
191
|
-
|
|
192
|
-
expect(
|
|
193
|
-
await component.findByText('Manage preferences here')
|
|
194
|
-
).toBeTruthy();
|
|
195
|
-
expect(component.baseElement).toMatchSnapshot();
|
|
196
|
-
});
|
|
197
|
-
|
|
198
|
-
it('triggers analytics event when manage preferences clicked', async () => {
|
|
199
|
-
const analyticsStream = jest.fn();
|
|
200
|
-
const component = renderComponent(analyticsStream);
|
|
201
|
-
|
|
202
|
-
const signupButton = await component.findByText('Sign up now');
|
|
203
|
-
fireEvent.click(signupButton);
|
|
204
|
-
|
|
205
|
-
const link = await component.findByText('Manage preferences here');
|
|
206
|
-
|
|
207
|
-
analyticsStream.mockClear();
|
|
208
|
-
|
|
209
|
-
fireEvent.click(link);
|
|
210
|
-
expect(analyticsStream).toHaveBeenCalledWith({
|
|
211
|
-
action: 'Clicked',
|
|
212
|
-
object: 'NewsletterPuffLink',
|
|
213
|
-
component: 'ArticleSkeleton',
|
|
214
|
-
attrs: {
|
|
215
|
-
article_parent_name: 'RED BOX',
|
|
216
|
-
eventTime: '2021-05-03T00:00:00.000Z',
|
|
217
|
-
event_navigation_action: 'navigation',
|
|
218
|
-
event_navigation_browsing_method: 'click',
|
|
219
|
-
event_navigation_name: 'widget : puff : manage preferences here'
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
});
|
|
223
|
-
});
|
|
224
|
-
|
|
225
146
|
describe('intersectionObserverTests', () => {
|
|
226
147
|
let oldIntersectionObserver: typeof IntersectionObserver;
|
|
227
148
|
beforeEach(() => {
|
|
@@ -234,11 +155,11 @@ describe('Inline Newsletter Puff', () => {
|
|
|
234
155
|
window.IntersectionObserver = oldIntersectionObserver;
|
|
235
156
|
});
|
|
236
157
|
|
|
237
|
-
it('sign up
|
|
158
|
+
it('One click sign up : displayed', async () => {
|
|
238
159
|
const analyticsStream = jest.fn();
|
|
239
160
|
const component = renderComponent(analyticsStream);
|
|
240
161
|
|
|
241
|
-
await component.
|
|
162
|
+
await component.findAllByText('One click sign up');
|
|
242
163
|
|
|
243
164
|
FakeIntersectionObserver.intersect();
|
|
244
165
|
|
|
@@ -255,32 +176,5 @@ describe('Inline Newsletter Puff', () => {
|
|
|
255
176
|
}
|
|
256
177
|
});
|
|
257
178
|
});
|
|
258
|
-
it('manage preferences here : displayed', async () => {
|
|
259
|
-
const analyticsStream = jest.fn();
|
|
260
|
-
const component = renderComponent(analyticsStream);
|
|
261
|
-
|
|
262
|
-
const signupButton = await component.findByText('Sign up now');
|
|
263
|
-
fireEvent.click(signupButton);
|
|
264
|
-
|
|
265
|
-
await component.findByText('Manage preferences here');
|
|
266
|
-
|
|
267
|
-
analyticsStream.mockClear();
|
|
268
|
-
|
|
269
|
-
FakeIntersectionObserver.intersect();
|
|
270
|
-
|
|
271
|
-
expect(analyticsStream).toHaveBeenCalledWith({
|
|
272
|
-
action: 'Scrolled',
|
|
273
|
-
component: 'ArticleSkeleton',
|
|
274
|
-
object: 'NewsletterPuffLink',
|
|
275
|
-
attrs: {
|
|
276
|
-
article_parent_name: 'RED BOX',
|
|
277
|
-
eventTime: '2021-05-03T00:00:00.000Z',
|
|
278
|
-
event_navigation_action: 'navigation',
|
|
279
|
-
event_navigation_browsing_method: 'automated',
|
|
280
|
-
event_navigation_name:
|
|
281
|
-
'widget : puff : manage preferences here : displayed'
|
|
282
|
-
}
|
|
283
|
-
});
|
|
284
|
-
});
|
|
285
179
|
});
|
|
286
180
|
});
|
package/src/components/newsletter-puff/__tests__/__snapshots__/AutoNewsletterPuff.test.tsx.snap
CHANGED
|
@@ -6,7 +6,7 @@ exports[`<AutoNewsletterPuff> display function always renders 1`] = `
|
|
|
6
6
|
style="display: block;"
|
|
7
7
|
>
|
|
8
8
|
<div
|
|
9
|
-
class="sc-
|
|
9
|
+
class="sc-bwzfXH sc-bxivhb jahLAV"
|
|
10
10
|
style="height: 257px;"
|
|
11
11
|
>
|
|
12
12
|
<div
|
|
@@ -45,7 +45,7 @@ exports[`<AutoNewsletterPuff> display function doesnt render without consent 1`]
|
|
|
45
45
|
style="display: none;"
|
|
46
46
|
>
|
|
47
47
|
<div
|
|
48
|
-
class="sc-
|
|
48
|
+
class="sc-bwzfXH sc-bxivhb jahLAV"
|
|
49
49
|
style="height: 257px;"
|
|
50
50
|
>
|
|
51
51
|
<div
|
|
@@ -84,7 +84,7 @@ exports[`<AutoNewsletterPuff> using a display function [1, 3] count = 1 1`] = `
|
|
|
84
84
|
style="display: block;"
|
|
85
85
|
>
|
|
86
86
|
<div
|
|
87
|
-
class="sc-
|
|
87
|
+
class="sc-bwzfXH sc-bxivhb jahLAV"
|
|
88
88
|
style="height: 257px;"
|
|
89
89
|
>
|
|
90
90
|
<div
|
|
@@ -123,7 +123,7 @@ exports[`<AutoNewsletterPuff> using a display function [1, 3] count = 2 1`] = `
|
|
|
123
123
|
style="display: none;"
|
|
124
124
|
>
|
|
125
125
|
<div
|
|
126
|
-
class="sc-
|
|
126
|
+
class="sc-bwzfXH sc-bxivhb jahLAV"
|
|
127
127
|
style="height: 257px;"
|
|
128
128
|
>
|
|
129
129
|
<div
|