]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - tests/selenium/specs/user.js
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / tests / selenium / specs / user.js
diff --git a/tests/selenium/specs/user.js b/tests/selenium/specs/user.js
new file mode 100644 (file)
index 0000000..3f3872d
--- /dev/null
@@ -0,0 +1,69 @@
+'use strict';
+const assert = require( 'assert' ),
+       CreateAccountPage = require( '../pageobjects/createaccount.page' ),
+       PreferencesPage = require( '../pageobjects/preferences.page' ),
+       UserLoginPage = require( '../pageobjects/userlogin.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 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
+               browser.call( function () {
+                       return CreateAccountPage.apiCreateAccount( 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
+               browser.call( function () {
+                       return CreateAccountPage.apiCreateAccount( username, password );
+               } );
+
+               // log in
+               UserLoginPage.login( username, password );
+
+               // change
+               PreferencesPage.changeRealName( realName );
+
+               // check
+               assert.equal( PreferencesPage.realName.getValue(), realName );
+
+       } );
+
+} );