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