]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - tests/selenium/pageobjects/edit.page.js
MediaWiki 1.30.2
[autoinstalls/mediawiki.git] / tests / selenium / pageobjects / edit.page.js
1 'use strict';
2 const Page = require( './page' );
3
4 class EditPage extends Page {
5
6         get content() { return browser.element( '#wpTextbox1' ); }
7         get displayedContent() { return browser.element( '#mw-content-text' ); }
8         get heading() { return browser.element( '#firstHeading' ); }
9         get save() { return browser.element( '#wpSave' ); }
10
11         openForEditing( name ) {
12                 super.open( name + '&action=edit' );
13         }
14
15         edit( name, content ) {
16                 this.openForEditing( name );
17                 this.content.setValue( content );
18                 this.save.click();
19         }
20
21         apiEdit( name, content ) {
22                 const url = require( 'url' ), // https://nodejs.org/docs/latest/api/url.html
23                         baseUrl = url.parse( browser.options.baseUrl ), // http://webdriver.io/guide/testrunner/browserobject.html
24                         Bot = require( 'nodemw' ), // https://github.com/macbre/nodemw
25                         client = new Bot( {
26                                 protocol: baseUrl.protocol,
27                                 server: baseUrl.hostname,
28                                 port: baseUrl.port,
29                                 path: baseUrl.path,
30                                 debug: false
31                         } );
32
33                 return new Promise( ( resolve, reject ) => {
34                         client.edit( name, content, `Created page with "${content}"`, function ( err ) {
35                                 if ( err ) {
36                                         return reject( err );
37                                 }
38                                 resolve();
39                         } );
40                 } );
41         }
42
43 }
44 module.exports = new EditPage();