From 7cf26f433f5d93fb5325495bc87bdef87260aada Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Fri, 8 Jun 2018 11:25:12 +0200 Subject: [PATCH] Fix e2e tests --- client/e2e/protractor.conf.js | 21 ++++++++++++------- client/e2e/src/po/video-watch.po.ts | 2 +- client/e2e/src/videos.e2e-spec.ts | 4 ++-- client/src/app/app.component.ts | 2 +- .../src/app/core/routing/redirect.service.ts | 6 +++--- client/src/standalone/videos/embed.ts | 3 +-- 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/client/e2e/protractor.conf.js b/client/e2e/protractor.conf.js index 60b0ad904..c5c913a4a 100644 --- a/client/e2e/protractor.conf.js +++ b/client/e2e/protractor.conf.js @@ -18,35 +18,42 @@ exports.config = { multiCapabilities: [ { browserName: 'Chrome', - version: '66' + version: '66', + name: 'Latest Chrome Desktop' }, { browserName: 'Safari', - version: '11.1' + version: '11.1', + name: 'Safari Desktop' }, { browserName: 'Firefox', - version: '52' // ESR + version: '52', // ESR, + name: 'Old Firefox ESR Desktop' }, { browserName: 'Firefox', - version: '60' + version: '60', + name: 'Latest Firefox Desktop' }, { browserName: 'Edge', - version: '16' + version: '16', + name: 'Latest Edge Desktop' }, { browserName: 'Chrome', device: 'Google Nexus 6', realMobile: 'true', - os_version: '5.0' + os_version: '5.0', + name: 'Latest Chrome Android' }, { browserName: 'Safari', device: 'iPhone SE', realMobile: 'true', - os_version: '11.2' + os_version: '11.2', + name: 'Latest Safari iPhone' } ], diff --git a/client/e2e/src/po/video-watch.po.ts b/client/e2e/src/po/video-watch.po.ts index 5bb7e5694..fce8a6c3d 100644 --- a/client/e2e/src/po/video-watch.po.ts +++ b/client/e2e/src/po/video-watch.po.ts @@ -41,7 +41,7 @@ export class VideoWatchPage { .then(seconds => parseInt(seconds, 10)) } - async pauseVideo (isAutoplay: boolean) { + async pauseVideo (isAutoplay: boolean, isMobileDevice: boolean) { if (isAutoplay === false) { const playButton = element(by.css('.vjs-big-play-button')) await browser.wait(browser.ExpectedConditions.elementToBeClickable(playButton)) diff --git a/client/e2e/src/videos.e2e-spec.ts b/client/e2e/src/videos.e2e-spec.ts index b15c03198..3d4d46292 100644 --- a/client/e2e/src/videos.e2e-spec.ts +++ b/client/e2e/src/videos.e2e-spec.ts @@ -66,14 +66,14 @@ describe('Videos workflow', () => { }) it('Should play the video', async () => { - await videoWatchPage.pauseVideo(!isMobileDevice) + await videoWatchPage.pauseVideo(!isMobileDevice, isMobileDevice) expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) }) it('Should watch the associated embed video', async () => { await videoWatchPage.goOnAssociatedEmbed() - await videoWatchPage.pauseVideo(false) + await videoWatchPage.pauseVideo(false, isMobileDevice) expect(videoWatchPage.getWatchVideoPlayerCurrentTime()).toBeGreaterThanOrEqual(2) }) }) diff --git a/client/src/app/app.component.ts b/client/src/app/app.component.ts index 6087dbf80..0bfe9f916 100644 --- a/client/src/app/app.component.ts +++ b/client/src/app/app.component.ts @@ -55,7 +55,7 @@ export class AppComponent implements OnInit { if (e instanceof NavigationEnd) { const pathname = window.location.pathname if (!pathname || pathname === '/' || is18nPath(pathname)) { - this.redirectService.redirectToHomepage() + this.redirectService.redirectToHomepage(true) } } }) diff --git a/client/src/app/core/routing/redirect.service.ts b/client/src/app/core/routing/redirect.service.ts index b7803cce2..1881be117 100644 --- a/client/src/app/core/routing/redirect.service.ts +++ b/client/src/app/core/routing/redirect.service.ts @@ -28,10 +28,10 @@ export class RedirectService { }) } - redirectToHomepage () { + redirectToHomepage (skipLocationChange = false) { console.log('Redirecting to %s...', RedirectService.DEFAULT_ROUTE) - this.router.navigate([ RedirectService.DEFAULT_ROUTE ], { skipLocationChange: true }) + this.router.navigate([ RedirectService.DEFAULT_ROUTE ], { skipLocationChange }) .catch(() => { console.error( 'Cannot navigate to %s, resetting default route to %s.', @@ -40,7 +40,7 @@ export class RedirectService { ) RedirectService.DEFAULT_ROUTE = RedirectService.INIT_DEFAULT_ROUTE - return this.router.navigate([ RedirectService.DEFAULT_ROUTE ], { skipLocationChange: true }) + return this.router.navigate([ RedirectService.DEFAULT_ROUTE ], { skipLocationChange }) }) } diff --git a/client/src/standalone/videos/embed.ts b/client/src/standalone/videos/embed.ts index 4f6fae8aa..e28d964de 100644 --- a/client/src/standalone/videos/embed.ts +++ b/client/src/standalone/videos/embed.ts @@ -21,7 +21,6 @@ import * as videojs from 'video.js' import { VideoDetails } from '../../../../shared' import { addContextMenu, getVideojsOptions, loadLocale } from '../../assets/player/peertube-player' -import { environment } from '../../environments/environment' function getVideoUrl (id: string) { return window.location.origin + '/api/v1/videos/' + id @@ -62,7 +61,7 @@ const urlParts = window.location.href.split('/') const lastPart = urlParts[urlParts.length - 1] const videoId = lastPart.indexOf('?') === -1 ? lastPart : lastPart.split('?')[0] -loadLocale(environment.apiUrl, videojs, navigator.language) +loadLocale(window.location.origin, videojs, navigator.language) .then(() => loadVideoInfo(videoId)) .then(async response => { const videoContainerId = 'video-container'