Merge "resourceloader: Omit parameter 'lang' from image URLs when not vary"
[lhc/web/wiklou.git] / tests / selenium / pageobjects / history.page.js
1 const Page = require( 'wdio-mediawiki/Page' ),
2 Api = require( 'wdio-mediawiki/Api' ),
3 Util = require( 'wdio-mediawiki/Util' );
4
5 class HistoryPage extends Page {
6 get heading() { return browser.element( '#firstHeading' ); }
7 get headingText() { return browser.getText( '#firstHeading' ); }
8 get comment() { return browser.element( '#pagehistory .comment' ); }
9 get rollback() { return browser.element( '.mw-rollback-link' ); }
10 get rollbackLink() { return browser.element( '.mw-rollback-link a' ); }
11 get rollbackConfirmable() { return browser.element( '.mw-rollback-link .jquery-confirmable-text' ); }
12 get rollbackConfirmableYes() { return browser.element( '.mw-rollback-link .jquery-confirmable-button-yes' ); }
13 get rollbackConfirmableNo() { return browser.element( '.mw-rollback-link .jquery-confirmable-button-no' ); }
14 get rollbackNonJsConfirmable() { return browser.element( '.mw-htmlform .oo-ui-fieldsetLayout-header .oo-ui-labelElement-label' ); }
15 get rollbackNonJsConfirmableYes() { return browser.element( '.mw-htmlform .mw-htmlform-submit-buttons button' ); }
16
17 open( title ) {
18 super.openTitle( title, { action: 'history' } );
19 }
20
21 toggleRollbackConfirmationSetting( enable ) {
22 Util.waitForModuleState( 'mediawiki.api', 'ready', 5000 );
23 return browser.execute( function ( enable ) {
24 return new mw.Api().saveOption(
25 'showrollbackconfirmation',
26 enable ? '1' : '0'
27 );
28 }, enable );
29 }
30
31 vandalizePage( name, content ) {
32 const vandalUsername = 'Evil_' + browser.options.username;
33
34 browser.call( function () {
35 return Api.edit( name, content );
36 } );
37
38 browser.call( function () {
39 return Api.createAccount(
40 vandalUsername, browser.options.password
41 );
42 } );
43
44 browser.call( function () {
45 return Api.edit(
46 name,
47 'Vandalized: ' + content,
48 vandalUsername
49 );
50 } );
51 }
52 }
53
54 module.exports = new HistoryPage();