-'use strict';
-const Page = require( './page' );
+const Page = require( 'wdio-mediawiki/Page' );
class EditPage extends Page {
+ get content() { return $( '#wpTextbox1' ); }
+ get conflictingContent() { return $( '#wpTextbox2' ); }
+ get displayedContent() { return $( '#mw-content-text .mw-parser-output' ); }
+ get heading() { return $( '#firstHeading' ); }
+ get save() { return $( '#wpSave' ); }
+ get previewButton() { return $( '#wpPreview' ); }
- get content() { return browser.element( '#wpTextbox1' ); }
- get displayedContent() { return browser.element( '#mw-content-text' ); }
- get heading() { return browser.element( '#firstHeading' ); }
- get save() { return browser.element( '#wpSave' ); }
+ openForEditing( title ) {
+ super.openTitle( title, { action: 'edit' } );
+ }
- openForEditing( name ) {
- super.open( name + '&action=edit' );
+ preview( name, content ) {
+ this.openForEditing( name );
+ this.content.setValue( content );
+ this.previewButton.click();
}
edit( name, content ) {
this.content.setValue( content );
this.save.click();
}
-
- apiEdit( name, content ) {
- const url = require( 'url' ), // https://nodejs.org/docs/latest/api/url.html
- baseUrl = url.parse( browser.options.baseUrl ), // http://webdriver.io/guide/testrunner/browserobject.html
- Bot = require( 'nodemw' ), // https://github.com/macbre/nodemw
- client = new Bot( {
- protocol: baseUrl.protocol,
- server: baseUrl.hostname,
- port: baseUrl.port,
- path: baseUrl.path,
- debug: false
- } );
-
- return new Promise( ( resolve, reject ) => {
- client.edit( name, content, `Created page with "${content}"`, function ( err ) {
- if ( err ) {
- return reject( err );
- }
- resolve();
- } );
- } );
- }
-
}
+
module.exports = new EditPage();