diff options
Diffstat (limited to 'www/wiki/tests/selenium/pageobjects/edit.page.js')
-rw-r--r-- | www/wiki/tests/selenium/pageobjects/edit.page.js | 39 |
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(); |