Skip to content

Commit 506d20c

Browse files
committed
Refactor slowClick tests.
1 parent 36506ee commit 506d20c

File tree

8 files changed

+145
-176
lines changed

8 files changed

+145
-176
lines changed

packages/browser-integration-tests/suites/replay/slowClick/clickTargets/test.ts

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ import { getCustomRecordingEvents, shouldSkipReplayTest, waitForReplayRequest }
3535
sentryTest.skip();
3636
}
3737

38-
const reqPromise0 = waitForReplayRequest(page, 0);
39-
4038
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
4139
return route.fulfill({
4240
status: 200,
@@ -47,18 +45,19 @@ import { getCustomRecordingEvents, shouldSkipReplayTest, waitForReplayRequest }
4745

4846
const url = await getLocalTestUrl({ testDir: __dirname });
4947

50-
await page.goto(url);
51-
await reqPromise0;
48+
await Promise.all([waitForReplayRequest(page, 0), page.goto(url)]);
5249

53-
const reqPromise1 = waitForReplayRequest(page, (event, res) => {
54-
const { breadcrumbs } = getCustomRecordingEvents(res);
50+
const [req1] = await Promise.all([
51+
waitForReplayRequest(page, (event, res) => {
52+
const { breadcrumbs } = getCustomRecordingEvents(res);
5553

56-
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.slowClickDetected');
57-
});
54+
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.slowClickDetected');
55+
}),
5856

59-
await page.click(`#${id}`);
57+
page.click(`#${id}`),
58+
]);
6059

61-
const { breadcrumbs } = getCustomRecordingEvents(await reqPromise1);
60+
const { breadcrumbs } = getCustomRecordingEvents(req1);
6261

6362
const slowClickBreadcrumbs = breadcrumbs.filter(breadcrumb => breadcrumb.category === 'ui.slowClickDetected');
6463

@@ -92,8 +91,6 @@ import { getCustomRecordingEvents, shouldSkipReplayTest, waitForReplayRequest }
9291
sentryTest.skip();
9392
}
9493

95-
const reqPromise0 = waitForReplayRequest(page, 0);
96-
9794
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
9895
return route.fulfill({
9996
status: 200,
@@ -104,18 +101,18 @@ import { getCustomRecordingEvents, shouldSkipReplayTest, waitForReplayRequest }
104101

105102
const url = await getLocalTestUrl({ testDir: __dirname });
106103

107-
await page.goto(url);
108-
await reqPromise0;
104+
await Promise.all([waitForReplayRequest(page, 0), page.goto(url)]);
109105

110-
const reqPromise1 = waitForReplayRequest(page, (event, res) => {
111-
const { breadcrumbs } = getCustomRecordingEvents(res);
106+
const [req1] = await Promise.all([
107+
waitForReplayRequest(page, (event, res) => {
108+
const { breadcrumbs } = getCustomRecordingEvents(res);
112109

113-
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
114-
});
115-
116-
await page.click(`#${id}`);
110+
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
111+
}),
112+
page.click(`#${id}`),
113+
]);
117114

118-
const { breadcrumbs } = getCustomRecordingEvents(await reqPromise1);
115+
const { breadcrumbs } = getCustomRecordingEvents(req1);
119116

120117
expect(breadcrumbs).toEqual([
121118
{

packages/browser-integration-tests/suites/replay/slowClick/disable/test.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ sentryTest('does not capture slow click when slowClickTimeout === 0', async ({ g
88
sentryTest.skip();
99
}
1010

11-
const reqPromise0 = waitForReplayRequest(page, 0);
12-
1311
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
1412
return route.fulfill({
1513
status: 200,
@@ -20,18 +18,18 @@ sentryTest('does not capture slow click when slowClickTimeout === 0', async ({ g
2018

2119
const url = await getLocalTestUrl({ testDir: __dirname });
2220

23-
await page.goto(url);
24-
await reqPromise0;
25-
26-
const reqPromise1 = waitForReplayRequest(page, (event, res) => {
27-
const { breadcrumbs } = getCustomRecordingEvents(res);
21+
await Promise.all([waitForReplayRequest(page, 0), page.goto(url)]);
2822

29-
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
30-
});
23+
const [req1] = await Promise.all([
24+
waitForReplayRequest(page, (event, res) => {
25+
const { breadcrumbs } = getCustomRecordingEvents(res);
3126

32-
await page.click('#mutationButton');
27+
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
28+
}),
29+
page.click('#mutationButton'),
30+
]);
3331

34-
const { breadcrumbs } = getCustomRecordingEvents(await reqPromise1);
32+
const { breadcrumbs } = getCustomRecordingEvents(req1);
3533

3634
expect(breadcrumbs).toEqual([
3735
{

packages/browser-integration-tests/suites/replay/slowClick/ignore/test.ts

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ sentryTest('click is ignored on ignoreSelectors', async ({ getLocalTestUrl, page
88
sentryTest.skip();
99
}
1010

11-
const reqPromise0 = waitForReplayRequest(page, 0);
12-
1311
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
1412
return route.fulfill({
1513
status: 200,
@@ -20,18 +18,18 @@ sentryTest('click is ignored on ignoreSelectors', async ({ getLocalTestUrl, page
2018

2119
const url = await getLocalTestUrl({ testDir: __dirname });
2220

23-
await page.goto(url);
24-
await reqPromise0;
25-
26-
const reqPromise1 = waitForReplayRequest(page, (event, res) => {
27-
const { breadcrumbs } = getCustomRecordingEvents(res);
21+
await Promise.all([waitForReplayRequest(page, 0), page.goto(url)]);
2822

29-
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
30-
});
23+
const [req1] = await Promise.all([
24+
waitForReplayRequest(page, (event, res) => {
25+
const { breadcrumbs } = getCustomRecordingEvents(res);
3126

32-
await page.click('#mutationIgnoreButton');
27+
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
28+
}),
29+
page.click('#mutationIgnoreButton'),
30+
]);
3331

34-
const { breadcrumbs } = getCustomRecordingEvents(await reqPromise1);
32+
const { breadcrumbs } = getCustomRecordingEvents(req1);
3533

3634
expect(breadcrumbs).toEqual([
3735
{
@@ -60,8 +58,6 @@ sentryTest('click is ignored on div', async ({ getLocalTestUrl, page }) => {
6058
sentryTest.skip();
6159
}
6260

63-
const reqPromise0 = waitForReplayRequest(page, 0);
64-
6561
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
6662
return route.fulfill({
6763
status: 200,
@@ -72,18 +68,19 @@ sentryTest('click is ignored on div', async ({ getLocalTestUrl, page }) => {
7268

7369
const url = await getLocalTestUrl({ testDir: __dirname });
7470

75-
await page.goto(url);
76-
await reqPromise0;
71+
await Promise.all([waitForReplayRequest(page, 0), page.goto(url)]);
7772

78-
const reqPromise1 = waitForReplayRequest(page, (event, res) => {
79-
const { breadcrumbs } = getCustomRecordingEvents(res);
73+
const [req1] = await Promise.all([
74+
waitForReplayRequest(page, (event, res) => {
75+
const { breadcrumbs } = getCustomRecordingEvents(res);
8076

81-
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
82-
});
77+
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.click');
78+
}),
8379

84-
await page.click('#mutationDiv');
80+
await page.click('#mutationDiv'),
81+
]);
8582

86-
const { breadcrumbs } = getCustomRecordingEvents(await reqPromise1);
83+
const { breadcrumbs } = getCustomRecordingEvents(req1);
8784

8885
expect(breadcrumbs).toEqual([
8986
{

packages/browser-integration-tests/suites/replay/slowClick/multiClick/test.ts

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ sentryTest('captures multi click when not detecting slow click', async ({ getLoc
1313
sentryTest.skip();
1414
}
1515

16-
const reqPromise0 = waitForReplayRequest(page, 0);
17-
1816
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
1917
return route.fulfill({
2018
status: 200,
@@ -25,18 +23,18 @@ sentryTest('captures multi click when not detecting slow click', async ({ getLoc
2523

2624
const url = await getLocalTestUrl({ testDir: __dirname });
2725

28-
await page.goto(url);
29-
await reqPromise0;
30-
31-
const reqPromise1 = waitForReplayRequest(page, (event, res) => {
32-
const { breadcrumbs } = getCustomRecordingEvents(res);
26+
await Promise.all([waitForReplayRequest(page, 0), page.goto(url)]);
3327

34-
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.multiClick');
35-
});
28+
const [req1] = await Promise.all([
29+
waitForReplayRequest(page, (event, res) => {
30+
const { breadcrumbs } = getCustomRecordingEvents(res);
3631

37-
await page.click('#mutationButtonImmediately', { clickCount: 4 });
32+
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.multiClick');
33+
}),
34+
page.click('#mutationButtonImmediately', { clickCount: 4 }),
35+
]);
3836

39-
const { breadcrumbs } = getCustomRecordingEvents(await reqPromise1);
37+
const { breadcrumbs } = getCustomRecordingEvents(req1);
4038

4139
const slowClickBreadcrumbs = breadcrumbs.filter(breadcrumb => breadcrumb.category === 'ui.multiClick');
4240

@@ -65,15 +63,16 @@ sentryTest('captures multi click when not detecting slow click', async ({ getLoc
6563

6664
// When this has been flushed, the timeout has exceeded - so add a new click now, which should trigger another multi click
6765

68-
const reqPromise2 = waitForReplayRequest(page, (event, res) => {
69-
const { breadcrumbs } = getCustomRecordingEvents(res);
70-
71-
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.multiClick');
72-
});
66+
const [req2] = await Promise.all([
67+
waitForReplayRequest(page, (event, res) => {
68+
const { breadcrumbs } = getCustomRecordingEvents(res);
7369

74-
await page.click('#mutationButtonImmediately', { clickCount: 3 });
70+
return breadcrumbs.some(breadcrumb => breadcrumb.category === 'ui.multiClick');
71+
}),
72+
page.click('#mutationButtonImmediately', { clickCount: 3 }),
73+
]);
7574

76-
const { breadcrumbs: breadcrumbb2 } = getCustomRecordingEvents(await reqPromise2);
75+
const { breadcrumbs: breadcrumbb2 } = getCustomRecordingEvents(req2);
7776

7877
const slowClickBreadcrumbs2 = breadcrumbb2.filter(breadcrumb => breadcrumb.category === 'ui.multiClick');
7978

@@ -106,8 +105,6 @@ sentryTest('captures multiple multi clicks', async ({ getLocalTestUrl, page, for
106105
sentryTest.skip();
107106
}
108107

109-
const reqPromise0 = waitForReplayRequest(page, 0);
110-
111108
await page.route('https://dsn.ingest.sentry.io/**/*', route => {
112109
return route.fulfill({
113110
status: 200,
@@ -118,8 +115,7 @@ sentryTest('captures multiple multi clicks', async ({ getLocalTestUrl, page, for
118115

119116
const url = await getLocalTestUrl({ testDir: __dirname });
120117

121-
await page.goto(url);
122-
await reqPromise0;
118+
await Promise.all([waitForReplayRequest(page, 0), page.goto(url)]);
123119

124120
let multiClickBreadcrumbCount = 0;
125121

0 commit comments

Comments
 (0)