|
1 | 1 | 'use strict';
|
2 | 2 |
|
3 |
| -// TBD |
| 3 | +const { action, assert, utils } = require( 'api-testing' ); |
| 4 | + |
| 5 | +describe( 'Visual Editor API', function () { |
| 6 | + // const titles = ( list ) => list.map( ( p ) => utils.dbkey( p.title ) ); |
| 7 | + |
| 8 | + const title = utils.title( 'VisualEditor' ); |
| 9 | + |
| 10 | + let alice; |
| 11 | + let pageInfo; |
| 12 | + |
| 13 | + before( async () => { |
| 14 | + alice = await action.alice(); |
| 15 | + |
| 16 | + const textX = 'Hello World! {{Template Requests}}'; |
| 17 | + |
| 18 | + pageInfo = await |
| 19 | + alice.edit( title, { text: textX } ); |
| 20 | + |
| 21 | + } ); |
| 22 | + // https://en.wikipedia.org/w/api.php?action=visualeditor&format=json&page=Davido%20Adeleke&paction=metadata |
| 23 | + |
| 24 | + it( 'can load metadata', async () => { |
| 25 | + const result = await alice.action( 'visualeditor', { page: title, paction: 'metadata' } ); |
| 26 | + assert.equal( result.visualeditor.oldid, pageInfo.newrevid ); |
| 27 | + } ); |
| 28 | + |
| 29 | + it( 'able to parse', async () => { |
| 30 | + const result = await alice.action( 'visualeditor', { page: title, paction: 'parse' } ); |
| 31 | + assert.equal( result.visualeditor.result, 'success' ); |
| 32 | + } ); |
| 33 | + |
| 34 | + it( 'able to parsedoc', async () => { |
| 35 | + const result = await alice.action( 'visualeditor', { page: title, paction: 'parsedoc', wikitext: 'test' } ); |
| 36 | + assert.equal( result.visualeditor.result, 'success' ); |
| 37 | + } ); |
| 38 | + |
| 39 | + it( 'able to parsefragment', async () => { |
| 40 | + const result = await alice.action( 'visualeditor', { page: title, paction: 'parsefragment', wikitext: 'test' } ); |
| 41 | + assert.equal( result.visualeditor.result, 'success' ); |
| 42 | + } ); |
| 43 | + |
| 44 | + it( 'templatesUsed', async () => { |
| 45 | + const result = await alice.action( 'visualeditor', { page: title, paction: 'templatesused', wikitext: 'test' } ); |
| 46 | + assert.include( result.visualeditor, 'Template Requests' ); |
| 47 | + } ); |
| 48 | + |
| 49 | + it( 'can load metadata', async () => { |
| 50 | + const result = await alice.action( 'visualeditor', { page: title, paction: 'wikitext' } ); |
| 51 | + assert.equal( result.visualeditor.result, 'success' ); |
| 52 | + } ); |
| 53 | +} ); |
0 commit comments