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