Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ulixee
GitHub Repository: ulixee/secret-agent
Path: blob/main/plugins/default-browser-emulator/test/selectUserAgentOptions.test.ts
1029 views
1
import selectUserAgentOption from '../lib/helpers/selectUserAgentOption';
2
import DataLoader from '../lib/DataLoader';
3
4
const dataLoader = new DataLoader(`${__dirname}/..`);
5
6
test('should support choosing a specific useragent', async () => {
7
const options = selectUserAgentOption(
8
'~ chrome >= 88 && chrome < 89',
9
dataLoader.userAgentOptions,
10
);
11
expect(options.browserVersion.major).toBe('88');
12
});
13
14
test('should support choosing a specific OS', async () => {
15
const options = selectUserAgentOption('~ mac & chrome >= 88', dataLoader.userAgentOptions);
16
expect(parseInt(options.browserVersion.major, 10)).toBeGreaterThanOrEqual(88);
17
expect(options.operatingSystemName).toBe('mac-os');
18
});
19
20
test('should throw an error for a non-installed pattern', async () => {
21
try {
22
expect(
23
selectUserAgentOption('~ mac & chrome >= 500000', dataLoader.userAgentOptions),
24
).not.toBeTruthy();
25
} catch (err) {
26
// eslint-disable-next-line jest/no-try-expect
27
expect(err.message).toMatch('No installed UserAgent');
28
}
29
});
30
31