123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- const assert = require( 'assert' ),
- Api = require( 'wdio-mediawiki/Api' ),
- DeletePage = require( '../pageobjects/delete.page' ),
- RestorePage = require( '../pageobjects/restore.page' ),
- EditPage = require( '../pageobjects/edit.page' ),
- HistoryPage = require( '../pageobjects/history.page' ),
- UndoPage = require( '../pageobjects/undo.page' ),
- UserLoginPage = require( '../pageobjects/userlogin.page' ),
- Util = require( 'wdio-mediawiki/Util' );
- describe( 'Page', function () {
- var content,
- name;
- before( function () {
- // disable VisualEditor welcome dialog
- UserLoginPage.open();
- browser.localStorage( 'POST', { key: 've-beta-welcome-dialog', value: '1' } );
- } );
- beforeEach( function () {
- browser.deleteCookie();
- content = Util.getTestString( 'beforeEach-content-' );
- name = Util.getTestString( 'BeforeEach-name-' );
- } );
- it( 'should be creatable', function () {
- // create
- EditPage.edit( name, content );
- // check
- assert.strictEqual( EditPage.heading.getText(), name );
- assert.strictEqual( EditPage.displayedContent.getText(), content );
- } );
- it( 'should be re-creatable', function () {
- let initialContent = Util.getTestString( 'initialContent-' );
- // create
- browser.call( function () {
- return Api.edit( name, initialContent );
- } );
- // delete
- browser.call( function () {
- return Api.delete( name, 'delete prior to recreate' );
- } );
- // create
- EditPage.edit( name, content );
- // check
- assert.strictEqual( EditPage.heading.getText(), name );
- assert.strictEqual( EditPage.displayedContent.getText(), content );
- } );
- it( 'should be editable @daily', function () {
- // create
- browser.call( function () {
- return Api.edit( name, content );
- } );
- // edit
- let editContent = Util.getTestString( 'editContent-' );
- EditPage.edit( name, editContent );
- // check
- assert.strictEqual( EditPage.heading.getText(), name );
- assert.strictEqual( EditPage.displayedContent.getText(), editContent );
- } );
- it( 'should have history @daily', function () {
- // create
- browser.call( function () {
- return Api.edit( name, content );
- } );
- // check
- HistoryPage.open( name );
- assert.strictEqual( HistoryPage.comment.getText(), `(Created page with "${content}")` );
- } );
- it( 'should be deletable', function () {
- // login
- UserLoginPage.loginAdmin();
- // create
- browser.call( function () {
- return Api.edit( name, content );
- } );
- // delete
- DeletePage.delete( name, content + '-deletereason' );
- // check
- assert.strictEqual(
- DeletePage.displayedContent.getText(),
- '"' + name + '" has been deleted. See deletion log for a record of recent deletions.\nReturn to Main Page.'
- );
- } );
- it( 'should be restorable', function () {
- // login
- UserLoginPage.loginAdmin();
- // create
- browser.call( function () {
- return Api.edit( name, content );
- } );
- // delete
- browser.call( function () {
- return Api.delete( name, content + '-deletereason' );
- } );
- // restore
- RestorePage.restore( name, content + '-restorereason' );
- // check
- assert.strictEqual( RestorePage.displayedContent.getText(), name + ' has been restored\nConsult the deletion log for a record of recent deletions and restorations.' );
- } );
- it( 'should be undoable', function () {
- // create
- browser.call( function () {
- return Api.edit( name, content );
- } );
- // edit
- let previousRev, undoRev;
- browser.call( function () {
- return Api.edit( name, Util.getTestString( 'editContent-' ) )
- .then( ( response ) => {
- previousRev = response.edit.oldrevid;
- undoRev = response.edit.newrevid;
- } );
- } );
- UndoPage.undo( name, previousRev, undoRev );
- assert.strictEqual( EditPage.displayedContent.getText(), content );
- } );
- } );
|