summaryrefslogtreecommitdiff
path: root/www/wiki/tests/selenium/pageobjects/edit.page.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/tests/selenium/pageobjects/edit.page.js')
-rw-r--r--www/wiki/tests/selenium/pageobjects/edit.page.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/www/wiki/tests/selenium/pageobjects/edit.page.js b/www/wiki/tests/selenium/pageobjects/edit.page.js
new file mode 100644
index 00000000..33a27f0f
--- /dev/null
+++ b/www/wiki/tests/selenium/pageobjects/edit.page.js
@@ -0,0 +1,39 @@
+'use strict';
+const Page = require( './page' );
+
+class EditPage extends Page {
+
+ 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( name ) {
+ super.open( name + '&action=edit' );
+ }
+
+ edit( name, content ) {
+ this.openForEditing( name );
+ this.content.setValue( content );
+ this.save.click();
+ }
+
+ apiEdit( name, content ) {
+
+ const MWBot = require( 'mwbot' ), // https://github.com/Fannon/mwbot
+ Promise = require( 'bluebird' );
+ let bot = new MWBot();
+
+ return Promise.coroutine( function* () {
+ yield bot.loginGetEditToken( {
+ apiUrl: `${browser.options.baseUrl}/api.php`,
+ username: browser.options.username,
+ password: browser.options.password
+ } );
+ yield bot.edit( name, content, `Created page with "${content}"` );
+ } ).call( this );
+
+ }
+
+}
+module.exports = new EditPage();