Localisation updates from https://translatewiki.net.
[lhc/web/wiklou.git] / tests / selenium / specs / user.js
1 'use strict';
2 const assert = require( 'assert' ),
3 CreateAccountPage = require( '../pageobjects/createaccount.page' ),
4 PreferencesPage = require( '../pageobjects/preferences.page' ),
5 UserLoginPage = require( '../pageobjects/userlogin.page' ),
6 UserMessagePage = require( '../pageobjects/usermessage.page' ),
7 EditPage = require( '../pageobjects/edit.page' );
8
9 describe( 'User', function () {
10
11 var password,
12 username;
13
14 before( function () {
15 // disable VisualEditor welcome dialog
16 UserLoginPage.open();
17 browser.localStorage( 'POST', { key: 've-beta-welcome-dialog', value: '1' } );
18 } );
19
20 beforeEach( function () {
21 browser.deleteCookie();
22 username = `User-${Math.random().toString()}`;
23 password = Math.random().toString();
24 } );
25
26 it( 'should be able to create account', function () {
27
28 // create
29 CreateAccountPage.createAccount( username, password );
30
31 // check
32 assert.equal( CreateAccountPage.heading.getText(), `Welcome, ${username}!` );
33
34 } );
35
36 it( 'should be able to log in', function () {
37
38 // create
39 browser.call( function () {
40 return CreateAccountPage.apiCreateAccount( username, password );
41 } );
42
43 // log in
44 UserLoginPage.login( username, password );
45
46 // check
47 assert.equal( UserLoginPage.userPage.getText(), username );
48
49 } );
50
51 it( 'should be able to change preferences', function () {
52
53 var realName = Math.random().toString();
54
55 // create
56 browser.call( function () {
57 return CreateAccountPage.apiCreateAccount( username, password );
58 } );
59
60 // log in
61 UserLoginPage.login( username, password );
62
63 // change
64 PreferencesPage.changeRealName( realName );
65
66 // check
67 assert.equal( PreferencesPage.realName.getValue(), realName );
68
69 } );
70
71 it( 'should be able to view new message banner', function () {
72
73 // create user
74 browser.call( function () {
75 return CreateAccountPage.apiCreateAccount( username, password );
76 } );
77
78 // create talk page with content
79 browser.call( function () {
80 return EditPage.apiEdit( 'User_talk:' + username, Math.random().toString() );
81 } );
82
83 // log in
84 UserLoginPage.login( username, password );
85
86 // check
87 assert.equal( UserMessagePage.usermessage.getText(), 'You have a new message (last change).' );
88
89 } );
90
91 } );