selenium: add new message banner test to user spec
[lhc/web/wiklou.git] / tests / selenium / specs / user.js
index 6746c5b..102acd6 100644 (file)
@@ -1,16 +1,24 @@
 '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();
        } );
@@ -28,10 +36,9 @@ describe( 'User', function () {
        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 );
@@ -46,9 +53,14 @@ describe( 'User', function () {
                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
@@ -56,4 +68,24 @@ describe( 'User', function () {
 
        } );
 
+       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).' );
+
+       } );
+
 } );