user.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. const assert = require( 'assert' ),
  2. CreateAccountPage = require( '../pageobjects/createaccount.page' ),
  3. PreferencesPage = require( '../pageobjects/preferences.page' ),
  4. UserLoginPage = require( 'wdio-mediawiki/LoginPage' ),
  5. Api = require( 'wdio-mediawiki/Api' ),
  6. Util = require( 'wdio-mediawiki/Util' );
  7. describe( 'User', function () {
  8. var password,
  9. username;
  10. before( function () {
  11. // disable VisualEditor welcome dialog
  12. UserLoginPage.open();
  13. browser.localStorage( 'POST', { key: 've-beta-welcome-dialog', value: '1' } );
  14. } );
  15. beforeEach( function () {
  16. browser.deleteCookie();
  17. username = Util.getTestString( 'User-' );
  18. password = Util.getTestString();
  19. } );
  20. it( 'should be able to create account', function () {
  21. // create
  22. CreateAccountPage.createAccount( username, password );
  23. // check
  24. assert.strictEqual( CreateAccountPage.heading.getText(), `Welcome, ${username}!` );
  25. } );
  26. it( 'should be able to log in @daily', function () {
  27. // create
  28. browser.call( function () {
  29. return Api.createAccount( username, password );
  30. } );
  31. // log in
  32. UserLoginPage.login( username, password );
  33. // check
  34. assert.strictEqual( UserLoginPage.userPage.getText(), username );
  35. } );
  36. // Disabled due to flakiness (T199446)
  37. it.skip( 'should be able to change preferences', function () {
  38. var realName = Util.getTestString();
  39. // create
  40. browser.call( function () {
  41. return Api.createAccount( username, password );
  42. } );
  43. // log in
  44. UserLoginPage.login( username, password );
  45. // change
  46. PreferencesPage.changeRealName( realName );
  47. // check
  48. assert.strictEqual( PreferencesPage.realName.getValue(), realName );
  49. } );
  50. } );