From: Pablo Grass Date: Tue, 14 Aug 2018 14:27:31 +0000 (+0200) Subject: selenium: undo page X-Git-Tag: 1.34.0-rc.0~4413^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22auteur_infos%22%2C%20%22id_auteur=%24id%22%29%20.%20%22?a=commitdiff_plain;h=32c36f0e730334283bf123f3849655ff3e715d7d;p=lhc%2Fweb%2Fwiklou.git selenium: undo page Add basic undo page object and test showing a previous edit can be undone. Bug: T201901 Change-Id: Idc1b3889abc6e655032bc1576f1b9d591abd6c8d --- diff --git a/tests/selenium/pageobjects/undo.page.js b/tests/selenium/pageobjects/undo.page.js new file mode 100644 index 0000000000..f0eff3f910 --- /dev/null +++ b/tests/selenium/pageobjects/undo.page.js @@ -0,0 +1,14 @@ +const Page = require( 'wdio-mediawiki/Page' ); + +class UndoPage extends Page { + + get save() { return browser.element( '#wpSave' ); } + + undo( title, previousRev, undoRev ) { + super.openTitle( title, { action: 'edit', undoafter: previousRev, undo: undoRev } ); + this.save.click(); + } + +} + +module.exports = new UndoPage(); diff --git a/tests/selenium/specs/page.js b/tests/selenium/specs/page.js index 032cbf085d..6a394d8b20 100644 --- a/tests/selenium/specs/page.js +++ b/tests/selenium/specs/page.js @@ -4,6 +4,7 @@ const assert = require( 'assert' ), 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' ); @@ -118,4 +119,26 @@ describe( 'Page', function () { // 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 ); + } ); + } );