From bbe078ba55be635b5fc92f8f6286c45792b9e7e5 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Tue, 18 Jun 2019 10:20:55 +0200 Subject: Fix e2e tests in parallel --- client/e2e/src/po/my-account.ts | 46 ++++++++++++++++++------------------- client/e2e/src/po/video-watch.po.ts | 14 +++++++++-- 2 files changed, 34 insertions(+), 26 deletions(-) (limited to 'client/e2e/src/po') diff --git a/client/e2e/src/po/my-account.ts b/client/e2e/src/po/my-account.ts index e49372983..49db789fb 100644 --- a/client/e2e/src/po/my-account.ts +++ b/client/e2e/src/po/my-account.ts @@ -16,34 +16,32 @@ export class MyAccountPage { // My account Videos - getLastVideoName () { - return this.getAllVideoNameElements().first().getText() - } - - removeLastVideo () { - return this.getLastVideoElement().element(by.css('my-delete-button')).click() + removeVideo (name: string) { + return this.getVideoElement(name).element(by.css('my-delete-button')).click() } validRemove () { return element(by.css('.action-button-submit')).click() } - countVideos () { - return this.getAllVideoNameElements().count() + countVideos (names: string[]) { + return element.all(by.css('.video')) + .filter(e => { + return e.element(by.css('.video-miniature-name')) + .getText() + .then(t => names.some(n => t.includes(n))) + }) + .count() } // My account playlists - getLastUpdatedPlaylistName () { - return this.getLastUpdatedPlaylist().element(by.css('.miniature-name')).getText() - } - - getLastUpdatedPlaylistVideosText () { - return this.getLastUpdatedPlaylist().element(by.css('.miniature-playlist-info-overlay')).getText() + getPlaylistVideosText (name: string) { + return this.getPlaylist(name).element(by.css('.miniature-playlist-info-overlay')).getText() } - clickOnLastUpdatedPlaylist () { - return this.getLastUpdatedPlaylist().element(by.css('.miniature-thumbnail')).click() + clickOnPlaylist (name: string) { + return this.getPlaylist(name).element(by.css('.miniature-thumbnail')).click() } countTotalPlaylistElements () { @@ -56,17 +54,17 @@ export class MyAccountPage { // My account Videos - private getLastVideoElement () { - return element.all(by.css('.video')).first() - } - - private getAllVideoNameElements () { - return element.all(by.css('.video-miniature-name')) + private getVideoElement (name: string) { + return element.all(by.css('.video')) + .filter(e => e.element(by.css('.video-miniature-name')).getText().then(t => t.includes(name))) + .first() } // My account playlists - private getLastUpdatedPlaylist () { - return element.all(by.css('my-video-playlist-miniature')).first() + private getPlaylist (name: string) { + return element.all(by.css('my-video-playlist-miniature')) + .filter(e => e.element(by.css('.miniature-name')).getText().then(t => t.includes(name))) + .first() } } diff --git a/client/e2e/src/po/video-watch.po.ts b/client/e2e/src/po/video-watch.po.ts index 9bb0a3919..c06b131b6 100644 --- a/client/e2e/src/po/video-watch.po.ts +++ b/client/e2e/src/po/video-watch.po.ts @@ -126,8 +126,18 @@ export class VideoWatchPage { return element(by.css('.action-button-save')).click() } - async saveToWatchLater () { - return element.all(by.css('my-video-add-to-playlist .playlist')).first().click() + async createPlaylist (name: string) { + await element(by.css('.new-playlist-button')).click() + + await element(by.css('#displayName')).sendKeys(name) + + return element(by.css('.new-playlist-block input[type=submit]')).click() + } + + async saveToPlaylist (name: string) { + return element.all(by.css('my-video-add-to-playlist .playlist')) + .filter(p => p.getText().then(t => t === name)) + .click() } waitUntilVideoName (name: string, maxTime: number) { -- cgit v1.2.3