mediawiki-extensions-CodeMi.../tests/selenium/userpreferences.js

47 lines
1.2 KiB
JavaScript
Raw Normal View History

'use strict';
const Api = require( 'wdio-mediawiki/Api' ),
BlankPage = require( 'wdio-mediawiki/BlankPage' ),
LoginPage = require( 'wdio-mediawiki/LoginPage' ),
Util = require( 'wdio-mediawiki/Util' );
class UserPreferences {
async loginAsOther() {
const username = Util.getTestString( 'User-' );
const password = Util.getTestString();
await Api.createAccount( await Api.bot(), username, password );
await LoginPage.login( username, password );
}
async setPreferences( preferences ) {
await BlankPage.open();
Util.waitForModuleState( 'mediawiki.base' );
return await browser.execute( function ( prefs ) {
return mw.loader.using( 'mediawiki.api' ).then( function () {
return new mw.Api().saveOptions( prefs );
} );
}, preferences );
}
async enableWikitext2010EditorWithCodeMirror() {
await this.setPreferences( {
usebetatoolbar: '1',
usecodemirror: '1',
'visualeditor-enable': '0',
'visualeditor-newwikitext': '0'
} );
}
async enableWikitext2017EditorWithCodeMirror() {
await this.setPreferences( {
usebetatoolbar: null,
usecodemirror: '1',
'visualeditor-enable': '1',
'visualeditor-newwikitext': '1'
} );
}
}
module.exports = new UserPreferences();