X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=tests%2Fselenium%2Fspecs%2Fpage.js;h=464fbb2874aff06aa99c7897bee579fd7215d867;hp=ab547e87dc192053f09b357f7210cdaffe81b268;hb=46586a243c6adf6a7020608173ba5a73fb97ee72;hpb=31f66267ae9763dcecd44c1e749fe0e91b5a3a01 diff --git a/tests/selenium/specs/page.js b/tests/selenium/specs/page.js index ab547e87dc..464fbb2874 100644 --- a/tests/selenium/specs/page.js +++ b/tests/selenium/specs/page.js @@ -1,26 +1,22 @@ -const assert = require( 'assert' ), - Api = require( 'wdio-mediawiki/Api' ), - BlankPage = require( 'wdio-mediawiki/BlankPage' ), - 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( 'wdio-mediawiki/LoginPage' ), - Util = require( 'wdio-mediawiki/Util' ); +const assert = require( 'assert' ); +const Api = require( 'wdio-mediawiki/Api' ); +const DeletePage = require( '../pageobjects/delete.page' ); +const RestorePage = require( '../pageobjects/restore.page' ); +const EditPage = require( '../pageobjects/edit.page' ); +const HistoryPage = require( '../pageobjects/history.page' ); +const UndoPage = require( '../pageobjects/undo.page' ); +const UserLoginPage = require( 'wdio-mediawiki/LoginPage' ); +const Util = require( 'wdio-mediawiki/Util' ); describe( 'Page', function () { - var content, - name; + let content, name, bot; - before( function () { - // disable VisualEditor welcome dialog - BlankPage.open(); - browser.localStorage( 'POST', { key: 've-beta-welcome-dialog', value: '1' } ); + before( async function () { + bot = await Api.bot(); } ); beforeEach( function () { - browser.deleteCookie(); + browser.deleteAllCookies(); content = Util.getTestString( 'beforeEach-content-' ); name = Util.getTestString( 'BeforeEach-name-' ); } ); @@ -30,13 +26,8 @@ describe( 'Page', function () { assert.strictEqual( EditPage.heading.getText(), 'Creating ' + name ); assert.strictEqual( EditPage.displayedContent.getText(), content ); - assert( EditPage.content.isVisible(), 'editor is still present' ); - assert( !EditPage.conflictingContent.isVisible(), 'no edit conflict happened' ); - // provoke and dismiss reload warning due to unsaved content - browser.url( 'data:text/html,Done' ); - try { - browser.alertAccept(); - } catch ( e ) {} + assert( EditPage.content.isDisplayed(), 'editor is still present' ); + assert( !EditPage.conflictingContent.isDisplayed(), 'no edit conflict happened' ); } ); it( 'should be creatable', function () { @@ -51,17 +42,13 @@ describe( 'Page', function () { it( 'should be re-creatable', function () { const 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 and delete + browser.call( async () => { + await bot.edit( name, initialContent, 'create for delete' ); + await bot.delete( name, 'delete prior to recreate' ); } ); - // create + // re-create EditPage.edit( name, content ); // check @@ -71,8 +58,8 @@ describe( 'Page', function () { it( 'should be editable @daily', function () { // create - browser.call( function () { - return Api.edit( name, content ); + browser.call( async () => { + await bot.edit( name, content, 'create for edit' ); } ); // edit @@ -81,32 +68,31 @@ describe( 'Page', function () { // check assert.strictEqual( EditPage.heading.getText(), name ); - // eslint-disable-next-line no-restricted-syntax assert( EditPage.displayedContent.getText().includes( editContent ) ); } ); it( 'should have history @daily', function () { // create - browser.call( function () { - return Api.edit( name, content ); + browser.call( async () => { + await bot.edit( name, content, `created with "${content}"` ); } ); // check HistoryPage.open( name ); - assert.strictEqual( HistoryPage.comment.getText(), `Created or updated page with "${content}"` ); + assert.strictEqual( HistoryPage.comment.getText(), `created with "${content}"` ); } ); it( 'should be deletable', function () { - // login - UserLoginPage.loginAdmin(); - // create - browser.call( function () { - return Api.edit( name, content ); + browser.call( async () => { + await bot.edit( name, content, 'create for delete' ); } ); + // login + UserLoginPage.loginAdmin(); + // delete - DeletePage.delete( name, content + '-deletereason' ); + DeletePage.delete( name, 'delete reason' ); // check assert.strictEqual( @@ -116,40 +102,32 @@ describe( 'Page', function () { } ); it( 'should be restorable', function () { - // login - UserLoginPage.loginAdmin(); - - // create - browser.call( function () { - return Api.edit( name, content ); + // create and delete + browser.call( async () => { + await bot.edit( name, content, 'create for delete' ); + await bot.delete( name, 'delete for restore' ); } ); - // delete - browser.call( function () { - return Api.delete( name, content + '-deletereason' ); - } ); + // login + UserLoginPage.loginAdmin(); // restore - RestorePage.restore( name, content + '-restorereason' ); + RestorePage.restore( name, 'restore reason' ); // 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; - } ); + browser.call( async () => { + // create + await bot.edit( name, content, 'create to edit and undo' ); + + // edit + const response = await bot.edit( name, Util.getTestString( 'editContent-' ) ); + previousRev = response.edit.oldrevid; + undoRev = response.edit.newrevid; } ); UndoPage.undo( name, previousRev, undoRev );