From: Pablo Grass Date: Tue, 12 Jun 2018 11:01:25 +0000 (+0200) Subject: selenium: add RecentChanges test to page spec X-Git-Tag: 1.34.0-rc.0~5073^2 X-Git-Url: http://git.cyclocoop.org/data/%24self?a=commitdiff_plain;h=948990f05d0dacc81e9e527e6be6004153038c8c;p=lhc%2Fweb%2Fwiklou.git selenium: add RecentChanges test to page spec Add Special:RecentChanges page object with method to retrieve displayed titles, test page last edited is shown there. Will be used to test more advanced title/link formatters downstream. Bug: T191600 Change-Id: I916516d5055c3ce9be071a75e5c3af2b3547d4ba --- diff --git a/tests/selenium/pageobjects/recentchanges.page.js b/tests/selenium/pageobjects/recentchanges.page.js new file mode 100644 index 0000000000..02d3843743 --- /dev/null +++ b/tests/selenium/pageobjects/recentchanges.page.js @@ -0,0 +1,18 @@ +const Page = require( 'wdio-mediawiki/Page' ); + +class RecentChangesPage extends Page { + get changesList() { return browser.element( '.mw-changeslist' ); } + get changesListTitles() { return this.changesList.$$( '.mw-changeslist-title' ); } + get titles() { + return this.changesListTitles.map( function ( element ) { + return element.getText(); + } ); + } + + open() { + super.openTitle( 'Special:RecentChanges' ); + } + +} + +module.exports = new RecentChangesPage(); diff --git a/tests/selenium/specs/specialrecentchanges.js b/tests/selenium/specs/specialrecentchanges.js new file mode 100644 index 0000000000..418fbb11cb --- /dev/null +++ b/tests/selenium/specs/specialrecentchanges.js @@ -0,0 +1,29 @@ +const assert = require( 'assert' ), + Api = require( 'wdio-mediawiki/Api' ), + RecentChangesPage = require( '../pageobjects/recentchanges.page' ); + +describe( 'Special:RecentChanges', function () { + let content, + name; + + function getTestString() { + return Math.random().toString() + '-öäü-♠♣♥♦'; + } + + beforeEach( function () { + browser.deleteCookie(); + content = getTestString(); + name = getTestString(); + } ); + + it( 'shows page creation', function () { + browser.call( function () { + return Api.edit( name, content ); + } ); + + RecentChangesPage.open(); + + assert.strictEqual( name, RecentChangesPage.titles[ 0 ] ); + } ); + +} );