]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/e2e/src/utils/common.ts
Support reinjecting token in private m3u8 playlist
[github/Chocobozzz/PeerTube.git] / client / e2e / src / utils / common.ts
1 async function browserSleep (amount: number) {
2 await browser.pause(amount)
3 }
4
5 function isMobileDevice () {
6 const platformName = (browser.capabilities['platformName'] || '').toLowerCase()
7
8 return platformName === 'android' || platformName === 'ios'
9 }
10
11 function isSafari () {
12 return browser.capabilities['browserName'] &&
13 browser.capabilities['browserName'].toLowerCase() === 'safari'
14 }
15
16 function isIOS () {
17 return isMobileDevice() && isSafari()
18 }
19
20 async function go (url: string) {
21 await browser.url(url)
22
23 // Hide notifications that could fail tests when hiding buttons
24 await browser.execute(() => {
25 const style = document.createElement('style')
26 style.innerHTML = 'p-toast { display: none }'
27 document.head.appendChild(style)
28 })
29 }
30
31 async function waitServerUp () {
32 await browser.waitUntil(async () => {
33 await go('/')
34 await browserSleep(500)
35
36 return $('<my-app>').isDisplayed()
37 }, { timeout: 20 * 1000 })
38 }
39
40 export {
41 isMobileDevice,
42 isSafari,
43 isIOS,
44 waitServerUp,
45 go,
46 browserSleep
47 }