import { AnonymousSettingsPage } from '../po/anonymous-settings.po' ; import { LoginPage } from '../po/login.po' ; import { MyAccountPage } from '../po/my-account.po' ; import { VideoUploadPage } from '../po/video-upload.po' ; import { VideoWatchPage } from '../po/video-watch.po' ; import { go , isMobileDevice , isSafari , waitServerUp } from '../utils' ; describe ( 'User settings' , ( ) => { let videoUploadPage ; let loginPage ; let videoWatchPage ; let myAccountPage ; let anonymousSettingsPage ; before ( async ( ) => { await waitServerUp ( ) ; loginPage = new LoginPage ( ) ; videoUploadPage = new VideoUploadPage ( ) ; videoWatchPage = new VideoWatchPage ( isMobileDevice ( ) , isSafari ( ) ) ; myAccountPage = new MyAccountPage ( ) ; anonymousSettingsPage = new AnonymousSettingsPage ( ) ; await browser . maximizeWindow ( ) ; } ) ; describe ( 'P2P' , function ( ) { let videoUrl ; async function goOnVideoWatchPage ( ) { await go ( videoUrl ) ; await videoWatchPage . waitWatchVideoName ( 'video' ) ; } async function checkP2P ( enabled ) { await goOnVideoWatchPage ( ) ; expect ( await videoWatchPage . isPrivacyWarningDisplayed ( ) ) . toEqual ( enabled ) ; await videoWatchPage . goOnAssociatedEmbed ( ) ; expect ( await videoWatchPage . isEmbedWarningDisplayed ( ) ) . toEqual ( enabled ) ; } before ( async ( ) => { await loginPage . loginAsRootUser ( ) ; await videoUploadPage . navigateTo ( ) ; await videoUploadPage . uploadVideo ( ) ; await videoUploadPage . validSecondUploadStep ( 'video' ) ; await videoWatchPage . waitWatchVideoName ( 'video' ) ; videoUrl = await browser . getUrl ( ) ; } ) ; beforeEach ( async function ( ) { await goOnVideoWatchPage ( ) ; } ) ; it ( 'Should have P2P enabled for a logged in user' , async function ( ) { await checkP2P ( true ) ; } ) ; it ( 'Should disable P2P for a logged in user' , async function ( ) { await myAccountPage . navigateToMySettings ( ) ; await myAccountPage . clickOnP2PCheckbox ( ) ; await checkP2P ( false ) ; } ) ; it ( 'Should have P2P enabled for anonymous users' , async function ( ) { await loginPage . logout ( ) ; await checkP2P ( true ) ; } ) ; it ( 'Should disable P2P for an anonymous user' , async function ( ) { await anonymousSettingsPage . openSettings ( ) ; await anonymousSettingsPage . clickOnP2PCheckbox ( ) ; await checkP2P ( false ) ; } ) ; } ) ; } ) ;