'use strict';
const assert = require( 'assert' ),
CreateAccountPage = require( '../pageobjects/createaccount.page' ),
+ PreferencesPage = require( '../pageobjects/preferences.page' ),
UserLoginPage = require( '../pageobjects/userlogin.page' ),
- UserLogoutPage = require( '../pageobjects/userlogout.page' ),
- PreferencesPage = require( '../pageobjects/preferences.page' );
+ UserMessagePage = require( '../pageobjects/usermessage.page' ),
+ EditPage = require( '../pageobjects/edit.page' );
describe( 'User', function () {
var password,
username;
+ before( function () {
+ // disable VisualEditor welcome dialog
+ UserLoginPage.open();
+ browser.localStorage( 'POST', { key: 've-beta-welcome-dialog', value: '1' } );
+ } );
+
beforeEach( function () {
+ browser.deleteCookie();
username = `User-${Math.random().toString()}`;
password = Math.random().toString();
} );
it( 'should be able to log in', function () {
// create
- CreateAccountPage.createAccount( username, password );
-
- // logout
- UserLogoutPage.open();
+ browser.call( function () {
+ return CreateAccountPage.apiCreateAccount( username, password );
+ } );
// log in
UserLoginPage.login( username, password );
var realName = Math.random().toString();
// create
- CreateAccountPage.createAccount( username, password );
+ browser.call( function () {
+ return CreateAccountPage.apiCreateAccount( username, password );
+ } );
- // change real name
+ // log in
+ UserLoginPage.login( username, password );
+
+ // change
PreferencesPage.changeRealName( realName );
// check
} );
+ it( 'should be able to view new message banner', function () {
+
+ // create user
+ browser.call( function () {
+ return CreateAccountPage.apiCreateAccount( username, password );
+ } );
+
+ // create talk page with content
+ browser.call( function () {
+ return EditPage.apiEdit( 'User_talk:' + username, Math.random().toString() );
+ } );
+
+ // log in
+ UserLoginPage.login( username, password );
+
+ // check
+ assert.equal( UserMessagePage.usermessage.getText(), 'You have a new message (last change).' );
+
+ } );
+
} );