Skip to content

Commit 79470a4

Browse files
committed
Fix integration tests to account for deprecated types
1 parent 1b658d3 commit 79470a4

File tree

8 files changed

+59
-44
lines changed

8 files changed

+59
-44
lines changed

trackers/javascript-tracker/test/functional/activityCallback.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ declare var findFirstEventForPageViewId: (id: string) => Record<string, unknown>
99
declare var findLastEventForPageViewId: (id: string) => Record<string, unknown>;
1010

1111
describe('Activity tracking with callbacks', () => {
12-
if (browser.capabilities.browserName === 'internet explorer') {
13-
fit('Skip IE', () => true);
12+
const browserName = 'browserName' in browser.capabilities && browser.capabilities.browserName;
13+
if (browserName === 'internet explorer') {
14+
fit('Skip IE', () => {});
1415
return;
1516
}
1617

trackers/javascript-tracker/test/integration/buttonClick.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ const loadUrlAndWait = async (url: string) => {
1111
};
1212

1313
describe('Snowplow Micro integration', () => {
14-
if (browser.capabilities.browserName === 'internet explorer') {
15-
fit('Skip IE', () => true);
14+
const browserName = 'browserName' in browser.capabilities && browser.capabilities.browserName;
15+
if (browserName === 'internet explorer') {
16+
fit('Skip IE', () => {});
1617
return;
1718
}
1819

trackers/javascript-tracker/test/integration/helpers.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { WaitUntilOptions } from 'webdriverio';
22
import util from 'util';
3+
import { Capabilities } from '@wdio/types';
34

45
declare module WebdriverIO {
56
interface Browser {
@@ -48,8 +49,8 @@ export async function pageSetup() {
4849
if (!dockerUrl) {
4950
throw 'dockerInstanceUrl not available in `browser.sharedStore`';
5051
}
51-
const testIdentifier =
52-
browser.capabilities.browserName + '_' + browser.capabilities.browserVersion + '_' + Math.random();
52+
const capabilities = browser.capabilities as Capabilities.DesiredCapabilities;
53+
const testIdentifier = capabilities.browserName + '_' + capabilities.browserVersion + '_' + Math.random();
5354
await browser.url('/index.html');
5455
await browser.setCookies([
5556
{ name: 'container', value: dockerUrl },

trackers/javascript-tracker/test/integration/integration.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ const geoContext = {
3535
};
3636

3737
describe('Snowplow Micro integration', () => {
38-
if (browser.capabilities.browserName === 'internet explorer') {
39-
fit('Skip IE', () => true);
38+
const browserName = 'browserName' in browser.capabilities && browser.capabilities.browserName;
39+
if (browserName === 'internet explorer') {
40+
fit('Skip IE', () => {});
4041
return;
4142
}
4243

trackers/javascript-tracker/test/integration/onSessionUpdate.test.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
import F from 'lodash/fp';
22
import { fetchResults } from '../micro';
33
import { pageSetup } from './helpers';
4+
import { Capabilities } from '@wdio/types';
45

56
describe('onSessionUpdate callback feature', () => {
7+
const capabilities = browser.capabilities as Capabilities.DesiredCapabilities;
68
if (
7-
browser.capabilities.browserName === 'internet explorer' &&
8-
(browser.capabilities.version === '9' || browser.capabilities.browserVersion === '10')
9+
capabilities.browserName === 'internet explorer' &&
10+
(capabilities.version === '9' || capabilities.browserVersion === '10')
911
) {
10-
fit('Skip IE 9 and 10', () => true);
12+
fit('Skip IE 9 and 10', () => {});
1113
return;
1214
}
1315

14-
if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') {
15-
fit('Skip Safari 8', () => true);
16+
if (capabilities.browserName === 'safari' && capabilities.version === '8.0') {
17+
fit('Skip Safari 8', () => {});
1618
return;
1719
}
1820

trackers/javascript-tracker/test/media/media.test.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import _ from 'lodash';
22
import { fetchResults } from '../micro';
33
import { pageSetup, waitUntil } from '../integration/helpers';
4+
import { Capabilities } from '@wdio/types';
45

56
const playVideoElement1Callback = () => {
67
return (done: (_: void) => void) => {
@@ -102,7 +103,8 @@ const makeExpectedEvent = (
102103
},
103104
};
104105

105-
if (browser.capabilities.browserName === 'internet explorer') {
106+
const browserName = 'browserName' in browser.capabilities && browser.capabilities.browserName;
107+
if (browserName === 'internet explorer') {
106108
data.context[0].data.defaultMuted = false;
107109
}
108110

@@ -151,16 +153,17 @@ describe('Media Tracking', () => {
151153
}
152154
};
153155

156+
const capabilities = browser.capabilities as Capabilities.DesiredCapabilities;
154157
if (
155-
browser.capabilities.browserName === 'internet explorer' &&
156-
(browser.capabilities.version === '9' || browser.capabilities.browserVersion === '10')
158+
capabilities.browserName === 'internet explorer' &&
159+
(capabilities.version === '9' || capabilities.browserVersion === '10')
157160
) {
158-
fit('Skip IE 9 and 10', () => true);
161+
fit('Skip IE 9 and 10', () => {});
159162
return;
160163
}
161164

162-
if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') {
163-
fit('Skip Safari 8', () => true);
165+
if (capabilities.browserName === 'safari' && capabilities.version === '8.0') {
166+
fit('Skip Safari 8', () => {});
164167
return;
165168
}
166169

@@ -515,13 +518,14 @@ describe('Media Tracking', () => {
515518
Object.entries(expected).forEach(([name, properties]) => {
516519
// I can't find a good way of triggering an error event for firefox 53 or chrome 60, so they can
517520
// be skipped for now (events past 'error' are fired as a result of the error occouring)
521+
const capabilities = browser.capabilities as Capabilities.DesiredCapabilities;
518522
if (
519523
(name === 'error' &&
520-
browser.capabilities.browserName === 'firefox' &&
521-
browser.capabilities.browserVersion === '53.0') ||
522-
(browser.capabilities.browserName === 'chrome' && browser.capabilities.version === '60.0.3112.78')
524+
capabilities.browserName === 'firefox' &&
525+
capabilities.browserVersion === '53.0') ||
526+
(capabilities.browserName === 'chrome' && capabilities.version === '60.0.3112.78')
523527
) {
524-
fit('Skip events from error', () => true);
528+
fit('Skip events from error', () => {});
525529
return;
526530
} else {
527531
it('tracks ' + name, () => {

trackers/javascript-tracker/test/media/vimeo.test.ts

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { VimeoEvent } from '@snowplow/browser-plugin-vimeo-tracking';
22
import { pageSetup } from '../integration/helpers';
33
import { fetchResults } from '../micro';
4+
import { Capabilities } from '@wdio/types';
45

56
function compareContextObjects(expected: any, received: any) {
67
expect(expected.schema).toEqual(received.schema);
@@ -51,37 +52,38 @@ const makeContext = () => {
5152
};
5253

5354
const skipBrowsers = (browser: any) => {
54-
if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.version === '9') {
55-
fit('Skip IE 9', () => true);
55+
const capabilities = browser.capabilities as Capabilities.DesiredCapabilities;
56+
if (capabilities.browserName === 'internet explorer' && capabilities.version === '9') {
57+
fit('Skip IE 9', () => {});
5658
return;
5759
}
5860

59-
if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.browserVersion === '10') {
60-
fit('Skip IE 10', () => true);
61+
if (capabilities.browserName === 'internet explorer' && capabilities.browserVersion === '10') {
62+
fit('Skip IE 10', () => {});
6163
return;
6264
}
6365

6466
// element not interactable: Element is not displayed
65-
if (browser.capabilities.browserName === 'internet explorer' && browser.capabilities.browserVersion === '11') {
66-
fit('Skip IE 11', () => true);
67+
if (capabilities.browserName === 'internet explorer' && capabilities.browserVersion === '11') {
68+
fit('Skip IE 11', () => {});
6769
return;
6870
}
6971

7072
// Unknown command: {"name":"sendKeysToActiveElement","parameters":{"value":["k"]}}
71-
if (browser.capabilities.browserName === 'safari' && browser.capabilities.version === '8.0') {
72-
fit('Skip Safari 8', () => true);
73+
if (capabilities.browserName === 'safari' && capabilities.version === '8.0') {
74+
fit('Skip Safari 8', () => {});
7375
return;
7476
}
7577

7678
// Element is obscured (WARNING: The server did not provide any stacktrace information)
77-
if (browser.capabilities.browserName === 'MicrosoftEdge' && browser.capabilities.browserVersion === '13.10586') {
78-
fit('Skip Edge 13', () => true);
79+
if (capabilities.browserName === 'MicrosoftEdge' && capabilities.browserVersion === '13.10586') {
80+
fit('Skip Edge 13', () => {});
7981
return;
8082
}
8183

8284
// Driver info: driver.version: unknown
83-
if (browser.capabilities.browserName === 'firefox' && browser.capabilities.version === '53.0') {
84-
fit('Skip Firefox 53', () => true);
85+
if (capabilities.browserName === 'firefox' && capabilities.version === '53.0') {
86+
fit('Skip Firefox 53', () => {});
8587
return;
8688
}
8789
};

trackers/javascript-tracker/test/media/youtube.test.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { fetchResults } from '../micro';
22
import { pageSetup, waitUntil } from '../integration/helpers';
3+
import { Capabilities } from '@wdio/types';
34

45
declare var player: YT.Player;
56

@@ -67,14 +68,15 @@ const compare = (expected: any, received: any) => {
6768
let log: Array<unknown> = [];
6869

6970
function shouldSkipBrowser(browser: any): boolean {
71+
const capabilities = browser.capabilities as Capabilities.DesiredCapabilities;
7072
return (
71-
browser.capabilities.browserName === 'internet explorer' ||
73+
capabilities.browserName === 'internet explorer' ||
7274
// Unknown command: {"name":"sendKeysToActiveElement","parameters":{"value":["k"]}}, Safari 12 keeps crashing
73-
(browser.capabilities.browserName === 'safari' && browser.capabilities.browserVersion < 14) ||
75+
(capabilities.browserName === 'safari' && parseInt(capabilities.browserVersion ?? "") < 14) ||
7476
// Element is obscured (WARNING: The server did not provide any stacktrace information)
75-
(browser.capabilities.browserName === 'MicrosoftEdge' && browser.capabilities.browserVersion === '13.10586') ||
77+
(capabilities.browserName === 'MicrosoftEdge' && capabilities.browserVersion === '13.10586') ||
7678
// Driver info: driver.version: unknown
77-
(browser.capabilities.browserName === 'firefox' && browser.capabilities.version === '53.0')
79+
(capabilities.browserName === 'firefox' && capabilities.version === '53.0')
7880
);
7981
}
8082

@@ -112,7 +114,7 @@ describe('Youtube tracking', () => {
112114

113115
describe('YouTube Tracker', () => {
114116
if (shouldSkipBrowser(browser)) {
115-
fit('Skip browser', () => true);
117+
fit('Skip browser', () => {});
116118
return;
117119
}
118120

@@ -188,13 +190,14 @@ describe('Youtube tracking', () => {
188190
};
189191

190192
Object.entries(expected).forEach(([name, properties]) => {
191-
if (browser.capabilities.browserName === 'internet explorer' && name === 'playbackratechange') {
193+
const capabilities = browser.capabilities as Capabilities.DesiredCapabilities;
194+
if (capabilities.browserName === 'internet explorer' && name === 'playbackratechange') {
192195
return;
193196
// The hotkey for playback rate change doesn't work in IE
194197
// Trying to create a key sequence to change the option in the UI has proved to be
195198
// very unreliable, so this test is skipped
196199
}
197-
if (browser.capabilities.browserName === 'safari' && name == 'percentprogress') {
200+
if (capabilities.browserName === 'safari' && name == 'percentprogress') {
198201
return;
199202
// percentprogress events seem not be tracked reliably in Safari, should investigate why
200203
}
@@ -208,7 +211,7 @@ describe('Youtube tracking', () => {
208211

209212
describe('YouTube Tracker (2 videos, 1 tracker)', () => {
210213
if (shouldSkipBrowser(browser)) {
211-
fit('Skip browser', () => true);
214+
fit('Skip browser', () => {});
212215
return;
213216
}
214217

@@ -251,7 +254,7 @@ describe('Youtube tracking', () => {
251254

252255
describe('YouTube Tracker (1 video, 2 trackers)', () => {
253256
if (shouldSkipBrowser(browser)) {
254-
fit('Skip browser', () => true);
257+
fit('Skip browser', () => {});
255258
return;
256259
}
257260

0 commit comments

Comments
 (0)