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