Merge "rdbms: cleanup runMasterPostTrxCallbacks() transaction check"
[lhc/web/wiklou.git] / tests / selenium / pageobjects / createaccount.page.js
1 'use strict';
2 const Page = require( './page' );
3
4 class CreateAccountPage extends Page {
5
6 get username() { return browser.element( '#wpName2' ); }
7 get password() { return browser.element( '#wpPassword2' ); }
8 get confirmPassword() { return browser.element( '#wpRetype' ); }
9 get create() { return browser.element( '#wpCreateaccount' ); }
10 get heading() { return browser.element( '#firstHeading' ); }
11
12 open() {
13 super.open( 'Special:CreateAccount' );
14 }
15
16 createAccount( username, password ) {
17 this.open();
18 this.username.setValue( username );
19 this.password.setValue( password );
20 this.confirmPassword.setValue( password );
21 this.create.click();
22 }
23
24 apiCreateAccount( username, password ) {
25
26 const MWBot = require( 'mwbot' ), // https://github.com/Fannon/mwbot
27 Promise = require( 'bluebird' );
28 let bot = new MWBot();
29
30 return Promise.coroutine( function* () {
31 yield bot.loginGetCreateaccountToken( {
32 apiUrl: `${browser.options.baseUrl}/api.php`,
33 username: browser.options.username,
34 password: browser.options.password
35 } );
36 yield bot.request( {
37 action: 'createaccount',
38 createreturnurl: browser.options.baseUrl,
39 createtoken: bot.createaccountToken,
40 username: username,
41 password: password,
42 retype: password
43 } );
44 } ).call( this );
45
46 }
47
48 }
49 module.exports = new CreateAccountPage();