X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fe2e%2Fsrc%2Fvideos.e2e-spec.ts;h=bbc5f7da3a290469f1e6d766cb3a8f7c12cc48a3;hb=0845e480d25a644661cb4e0eed366719289ebc37;hp=27706a5061d3cf913e1e0b0d8695467a5e2b0ba5;hpb=bbe078ba55be635b5fc92f8f6286c45792b9e7e5;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/e2e/src/videos.e2e-spec.ts b/client/e2e/src/videos.e2e-spec.ts index 27706a506..bbc5f7da3 100644 --- a/client/e2e/src/videos.e2e-spec.ts +++ b/client/e2e/src/videos.e2e-spec.ts @@ -1,9 +1,11 @@ -import { VideoWatchPage } from './po/video-watch.po' -import { VideoUploadPage } from './po/video-upload.po' -import { LoginPage } from './po/login.po' import { browser } from 'protractor' -import { VideoUpdatePage } from './po/video-update.po' +import { AppPage } from './po/app.po' +import { LoginPage } from './po/login.po' import { MyAccountPage } from './po/my-account' +import { VideoUpdatePage } from './po/video-update.po' +import { VideoUploadPage } from './po/video-upload.po' +import { VideoWatchPage } from './po/video-watch.po' +import { isIOS, isMobileDevice, isSafari } from './utils' async function skipIfUploadNotSupported () { if (await isMobileDevice() || await isSafari()) { @@ -14,22 +16,13 @@ async function skipIfUploadNotSupported () { return false } -async function isMobileDevice () { - const caps = await browser.getCapabilities() - return caps.get('realMobile') === 'true' || caps.get('realMobile') === true -} - -async function isSafari () { - const caps = await browser.getCapabilities() - return caps.get('browserName') && caps.get('browserName').toLowerCase() === 'safari' -} - describe('Videos workflow', () => { let videoWatchPage: VideoWatchPage let videoUploadPage: VideoUploadPage let videoUpdatePage: VideoUpdatePage let myAccountPage: MyAccountPage let loginPage: LoginPage + let appPage: AppPage let videoName = new Date().getTime() + ' video' const video2Name = new Date().getTime() + ' second video' @@ -42,14 +35,23 @@ describe('Videos workflow', () => { videoUpdatePage = new VideoUpdatePage() myAccountPage = new MyAccountPage() loginPage = new LoginPage() + appPage = new AppPage() - if (await isMobileDevice()) { - console.log('Mobile device detected.') - } + if (await isIOS()) { + // iOS does not seem to work with protractor + // https://github.com/angular/protractor/issues/2840 + browser.ignoreSynchronization = true - if (await isSafari()) { + console.log('iOS detected') + } else if (await isMobileDevice()) { + console.log('Android detected.') + } else if (await isSafari()) { console.log('Safari detected.') } + + if (!await isMobileDevice()) { + await browser.driver.manage().window().maximize() + } }) it('Should log in', async () => { @@ -61,6 +63,12 @@ describe('Videos workflow', () => { return loginPage.loginAsRootUser() }) + it('Should close the welcome modal', async () => { + if (await skipIfUploadNotSupported()) return + + await appPage.closeWelcomeModal() + }) + it('Should upload a video', async () => { if (await skipIfUploadNotSupported()) return @@ -91,7 +99,7 @@ describe('Videos workflow', () => { it('Should play the video', async () => { videoWatchUrl = await browser.getCurrentUrl() - await videoWatchPage.playAndPauseVideo(true, await isMobileDevice()) + await videoWatchPage.playAndPauseVideo(true) expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) }) @@ -100,7 +108,7 @@ describe('Videos workflow', () => { await videoWatchPage.goOnAssociatedEmbed() - await videoWatchPage.playAndPauseVideo(false, await isMobileDevice()) + await videoWatchPage.playAndPauseVideo(false) expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) await browser.waitForAngularEnabled(true) @@ -111,7 +119,7 @@ describe('Videos workflow', () => { await videoWatchPage.goOnP2PMediaLoaderEmbed() - await videoWatchPage.playAndPauseVideo(false, await isMobileDevice()) + await videoWatchPage.playAndPauseVideo(false) expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) await browser.waitForAngularEnabled(true)