--- /dev/null
+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();
--- /dev/null
+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 ] );
+ } );
+
+} );