import { browser } from 'protractor' ; import { AdminActions , LoginPage , BrowsingPage , Utils , APP_ROUTES } from '@alfresco/aca-testing-shared' ; describe ( 'Logout' , ( ) => { const page = new BrowsingPage ( ) ; const loginPage = new LoginPage ( ) ; const johnDoe = `user-${ Utils . random ( ) }` ; const adminApiActions = new AdminActions ( ) ; beforeAll ( async ( done ) => { await adminApiActions . createUser ( { username : johnDoe } ) ; done ( ) ; } ) ; beforeEach ( async ( done ) => { await loginPage . loginWith ( johnDoe ) ; done ( ) ; } ) ; it ( '[C213143] Sign out option is available' , async ( ) => { await page . header . openMoreMenu ( ) ; expect ( await page . header . menu . isMenuItemPresent ( 'Sign out' ) ) . toBe ( true , 'Sign out option not displayed' ) ; } ) ; it ( '[C213144] redirects to Login page on sign out' , async ( ) => { await page . signOut ( ) ; expect ( await browser . getCurrentUrl ( ) ) . toContain ( APP_ROUTES . LOGIN ) ; } ) ; it ( '[C213145] redirects to Login page when pressing browser Back after logout' , async ( ) => { await page . signOut ( ) ; await browser . navigate ( ) . back ( ) ; expect ( await browser . getCurrentUrl ( ) ) . toContain ( APP_ROUTES . LOGIN ) ; } ) ; it ( '[C213146] redirects to Login page when trying to access a part of the app after logout' , async ( ) => { await page . signOut ( ) ; await page . load ( '/favorites' ) ; expect ( await browser . getCurrentUrl ( ) ) . toContain ( APP_ROUTES . LOGIN ) ; } ) ; } ) ;