diff options
Diffstat (limited to 'www/wiki/tests/selenium/pageobjects/delete.page.js')
-rw-r--r-- | www/wiki/tests/selenium/pageobjects/delete.page.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/www/wiki/tests/selenium/pageobjects/delete.page.js b/www/wiki/tests/selenium/pageobjects/delete.page.js new file mode 100644 index 00000000..d43cb9f6 --- /dev/null +++ b/www/wiki/tests/selenium/pageobjects/delete.page.js @@ -0,0 +1,39 @@ +'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(); + } + + apiDelete( name, reason ) { + + 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.delete( name, reason ); + } ).call( this ); + + } + +} +module.exports = new DeletePage(); |