selenium: Initial version of wdio-mediawiki package
[lhc/web/wiklou.git] / tests / selenium / specs / user.js
index 6746c5b..10bf05d 100644 (file)
@@ -1,59 +1,61 @@
-'use strict';
 const assert = require( 'assert' ),
        CreateAccountPage = require( '../pageobjects/createaccount.page' ),
-       UserLoginPage = require( '../pageobjects/userlogin.page' ),
-       UserLogoutPage = require( '../pageobjects/userlogout.page' ),
-       PreferencesPage = require( '../pageobjects/preferences.page' );
+       PreferencesPage = require( '../pageobjects/preferences.page' ),
+       UserLoginPage = require( 'wdio-mediawiki/LoginPage' ),
+       Api = require( 'wdio-mediawiki/Api' );
 
 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 create account', function () {
-
                // create
                CreateAccountPage.createAccount( username, password );
 
                // check
                assert.equal( CreateAccountPage.heading.getText(), `Welcome, ${username}!` );
-
        } );
 
        it( 'should be able to log in', function () {
-
                // create
-               CreateAccountPage.createAccount( username, password );
-
-               // logout
-               UserLogoutPage.open();
+               browser.call( function () {
+                       return Api.createAccount( username, password );
+               } );
 
                // log in
                UserLoginPage.login( username, password );
 
                // check
                assert.equal( UserLoginPage.userPage.getText(), username );
-
        } );
 
        it( 'should be able to change preferences', function () {
-
                var realName = Math.random().toString();
 
                // create
-               CreateAccountPage.createAccount( username, password );
+               browser.call( function () {
+                       return Api.createAccount( username, password );
+               } );
+
+               // log in
+               UserLoginPage.login( username, password );
 
-               // change real name
+               // change
                PreferencesPage.changeRealName( realName );
 
                // check
                assert.equal( PreferencesPage.realName.getValue(), realName );
-
        } );
-
 } );