d55ff4c7d1b56c55eb3d130908d9127d9992923b
[lhc/web/wiklou.git] / tests / selenium / specs / user.js
1 const assert = require( 'assert' ),
2 CreateAccountPage = require( '../pageobjects/createaccount.page' ),
3 PreferencesPage = require( '../pageobjects/preferences.page' ),
4 UserLoginPage = require( 'wdio-mediawiki/LoginPage' ),
5 Api = require( 'wdio-mediawiki/Api' ),
6 Util = require( 'wdio-mediawiki/Util' );
7
8 describe( 'User', function () {
9 var password,
10 username;
11
12 before( function () {
13 // disable VisualEditor welcome dialog
14 UserLoginPage.open();
15 browser.localStorage( 'POST', { key: 've-beta-welcome-dialog', value: '1' } );
16 } );
17
18 beforeEach( function () {
19 browser.deleteCookie();
20 username = Util.getTestString( 'User-' );
21 password = Util.getTestString();
22 } );
23
24 it( 'should be able to create account', function () {
25 // create
26 CreateAccountPage.createAccount( username, password );
27
28 // check
29 assert.strictEqual( CreateAccountPage.heading.getText(), `Welcome, ${username}!` );
30 } );
31
32 it( 'should be able to log in @daily', function () {
33 // create
34 browser.call( function () {
35 return Api.createAccount( username, password );
36 } );
37
38 // log in
39 UserLoginPage.login( username, password );
40
41 // check
42 assert.strictEqual( UserLoginPage.userPage.getText(), username );
43 } );
44
45 // Disabled due to flakiness (T199446)
46 it.skip( 'should be able to change preferences', function () {
47 var realName = Util.getTestString();
48
49 // create
50 browser.call( function () {
51 return Api.createAccount( username, password );
52 } );
53
54 // log in
55 UserLoginPage.login( username, password );
56
57 // change
58 PreferencesPage.changeRealName( realName );
59
60 // check
61 assert.strictEqual( PreferencesPage.realName.getValue(), realName );
62 } );
63 } );