--- /dev/null
+'use strict';
+const Page = require( './page' );
+
+class DeletePage extends Page {
+
+ get reason() { return browser.element( '#wpReason' ); }
+ get watch() { return browser.element( '#wpWatch' ); }
+ get submit() { return browser.element( '#wpConfirmB' ); }
+ get displayedContent() { return browser.element( '#mw-content-text' ); }
+
+ open( name ) {
+ super.open( name + '&action=delete' );
+ }
+
+ delete( name, reason ) {
+ this.open( name );
+ this.reason.setValue( reason );
+ this.submit.click();
+ }
+
+}
+module.exports = new DeletePage();
'use strict';
const assert = require( 'assert' ),
+ DeletePage = require( '../pageobjects/delete.page' ),
EditPage = require( '../pageobjects/edit.page' ),
HistoryPage = require( '../pageobjects/history.page' ),
UserLoginPage = require( '../pageobjects/userlogin.page' );
} );
+ it( 'should be deletable', function () {
+
+ // login
+ UserLoginPage.loginAdmin();
+
+ // create
+ browser.call( function () {
+ return EditPage.apiEdit( name, content );
+ } );
+
+ // delete
+ DeletePage.delete( name, content + '-deletereason' );
+
+ // check
+ assert.equal(
+ DeletePage.displayedContent.getText(),
+ '"' + name + '" has been deleted. See deletion log for a record of recent deletions.\nReturn to Main Page.'
+ );
+
+ } );
+
} );