X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fe2e%2Fsrc%2Fpo%2Flogin.po.ts;h=91bf46e302225a9103f216931f91c372bb01a5ac;hb=57702d2537db0e1bbefd58d87b5097baad6acde7;hp=8e3030e43ccad94a3c3a6ba9943ff14ee0aaa16b;hpb=3419e0e1fe8e48a08b63ca0ded31087f913eb2b6;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/e2e/src/po/login.po.ts b/client/e2e/src/po/login.po.ts index 8e3030e43..91bf46e30 100644 --- a/client/e2e/src/po/login.po.ts +++ b/client/e2e/src/po/login.po.ts @@ -1,25 +1,77 @@ import { go } from '../utils' export class LoginPage { - async loginAsRootUser () { - await go('/login') + constructor (private isMobileDevice: boolean) { + + } + + async login (username: string, password: string, url = '/login') { + await go(url) + + await browser.execute(`window.localStorage.setItem('no_account_setup_warning_modal', 'true')`) await browser.execute(`window.localStorage.setItem('no_instance_config_warning_modal', 'true')`) await browser.execute(`window.localStorage.setItem('no_welcome_modal', 'true')`) - await $('input#username').setValue('root') - await $('input#password').setValue('test1') + await $('input#username').setValue(username) + await $('input#password').setValue(password) await browser.pause(1000) await $('form input[type=submit]').click() + const menuToggle = $('.top-left-block span[role=button]') + + if (this.isMobileDevice) { + await browser.pause(1000) + + await menuToggle.click() + } + + await this.ensureIsLoggedInAs(username) + + if (this.isMobileDevice) { + await menuToggle.click() + } + } + + async loginAsRootUser () { + return this.login('root', 'test' + this.getSuffix()) + } + + loginOnPeerTube2 () { + return this.login('e2e', process.env.PEERTUBE2_E2E_PASSWORD, 'https://peertube2.cpy.re/login') + } + + async logout () { + const loggedInMore = $('.logged-in-more') + + await loggedInMore.waitForClickable() + await loggedInMore.click() + + const logout = $('.dropdown-item*=Log out') + + await logout.waitForClickable() + await logout.click() + + await browser.waitUntil(() => { + return $('.login-buttons-block, my-error-page a[href="/login"]').isDisplayed() + }) + } + + async ensureIsLoggedInAs (displayName: string) { await this.getLoggedInInfoElem().waitForExist() - await expect(this.getLoggedInInfoElem()).toHaveText('root') + await expect(this.getLoggedInInfoElem()).toHaveText(displayName) } private getLoggedInInfoElem () { return $('.logged-in-display-name') } + + private getSuffix () { + return browser.config.baseUrl + ? browser.config.baseUrl.slice(-1) + : '1' + } }