2016-12-19 16:39:29 +00:00
const assert = require ( 'assert' ) ,
2018-01-13 12:56:46 +00:00
DeletePage = require ( '../pageobjects/delete.page' ) ,
2018-01-13 13:52:35 +00:00
RestorePage = require ( '../pageobjects/restore.page' ) ,
2017-05-08 10:10:18 +00:00
EditPage = require ( '../pageobjects/edit.page' ) ,
2017-07-05 11:52:47 +00:00
HistoryPage = require ( '../pageobjects/history.page' ) ,
UserLoginPage = require ( '../pageobjects/userlogin.page' ) ;
2016-12-19 16:39:29 +00:00
describe ( 'Page' , function ( ) {
var content ,
name ;
2018-01-13 12:19:28 +00:00
function getTestString ( ) {
return Math . random ( ) . toString ( ) + '-öäü-♠♣♥♦' ;
}
2017-07-05 11:52:47 +00:00
before ( function ( ) {
// disable VisualEditor welcome dialog
UserLoginPage . open ( ) ;
browser . localStorage ( 'POST' , { key : 've-beta-welcome-dialog' , value : '1' } ) ;
} ) ;
2016-12-19 16:39:29 +00:00
beforeEach ( function ( ) {
2017-05-08 10:10:18 +00:00
browser . deleteCookie ( ) ;
2018-01-13 12:19:28 +00:00
content = getTestString ( ) ;
name = getTestString ( ) ;
2016-12-19 16:39:29 +00:00
} ) ;
it ( 'should be creatable' , function ( ) {
// create
EditPage . edit ( name , content ) ;
// check
assert . equal ( EditPage . heading . getText ( ) , name ) ;
assert . equal ( EditPage . displayedContent . getText ( ) , content ) ;
} ) ;
2018-01-13 14:06:39 +00:00
it ( 'should be re-creatable' , function ( ) {
let initialContent = getTestString ( ) ;
// create
browser . call ( function ( ) {
return EditPage . apiEdit ( name , initialContent ) ;
} ) ;
// delete
browser . call ( function ( ) {
return DeletePage . apiDelete ( name , 'delete prior to recreate' ) ;
} ) ;
// create
EditPage . edit ( name , content ) ;
// check
assert . equal ( EditPage . heading . getText ( ) , name ) ;
assert . equal ( EditPage . displayedContent . getText ( ) , content ) ;
} ) ;
2016-12-19 16:39:29 +00:00
it ( 'should be editable' , function ( ) {
// create
2017-05-08 10:10:18 +00:00
browser . call ( function ( ) {
return EditPage . apiEdit ( name , content ) ;
} ) ;
2016-12-19 16:39:29 +00:00
// edit
2018-01-13 12:19:28 +00:00
EditPage . edit ( name , content ) ;
2016-12-19 16:39:29 +00:00
2017-05-08 10:10:18 +00:00
// check
2016-12-19 16:39:29 +00:00
assert . equal ( EditPage . heading . getText ( ) , name ) ;
2018-01-13 12:19:28 +00:00
assert . equal ( EditPage . displayedContent . getText ( ) , content ) ;
2016-12-19 16:39:29 +00:00
} ) ;
it ( 'should have history' , function ( ) {
// create
2017-05-08 10:10:18 +00:00
browser . call ( function ( ) {
return EditPage . apiEdit ( name , content ) ;
} ) ;
2016-12-19 16:39:29 +00:00
// check
HistoryPage . open ( name ) ;
assert . equal ( HistoryPage . comment . getText ( ) , ` (Created page with " ${ content } ") ` ) ;
} ) ;
2018-01-13 12:56:46 +00:00
it ( 'should be deletable' , function ( ) {
// login
UserLoginPage . loginAdmin ( ) ;
// create
browser . call ( function ( ) {
return EditPage . apiEdit ( name , content ) ;
} ) ;
// delete
DeletePage . delete ( name , content + '-deletereason' ) ;
// check
assert . equal (
DeletePage . displayedContent . getText ( ) ,
'"' + name + '" has been deleted. See deletion log for a record of recent deletions.\nReturn to Main Page.'
) ;
} ) ;
2018-01-13 13:52:35 +00:00
it ( 'should be restorable' , function ( ) {
// login
UserLoginPage . loginAdmin ( ) ;
// create
browser . call ( function ( ) {
return EditPage . apiEdit ( name , content ) ;
} ) ;
// delete
browser . call ( function ( ) {
return DeletePage . apiDelete ( name , content + '-deletereason' ) ;
} ) ;
// restore
RestorePage . restore ( name , content + '-restorereason' ) ;
// check
assert . equal ( RestorePage . displayedContent . getText ( ) , name + ' has been restored\nConsult the deletion log for a record of recent deletions and restorations.' ) ;
} ) ;
2016-12-19 16:39:29 +00:00
} ) ;