mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Cite
synced 2024-09-23 10:20:12 +00:00
[Cypress] Streamline page edit and VE Cite setup
Change-Id: I4818b662e16f8d70a7d59dcfa29348e9468100df
This commit is contained in:
parent
1a67a23fbc
commit
b4f4dc7fb7
|
@ -6,9 +6,9 @@ const refText1 = 'This is citation #1 for reference #1 and #2';
|
||||||
const refText2 = 'This is citation #2 for reference #3';
|
const refText2 = 'This is citation #2 for reference #3';
|
||||||
|
|
||||||
const wikiText = `This is reference #1: <ref name="a">${ refText1 }</ref><br> ` +
|
const wikiText = `This is reference #1: <ref name="a">${ refText1 }</ref><br> ` +
|
||||||
'This is reference #2 <ref name="a" /><br>' +
|
'This is reference #2 <ref name="a" /><br>' +
|
||||||
`This is reference #3 <ref>${ refText2 }</ref><br>` +
|
`This is reference #3 <ref>${ refText2 }</ref><br>` +
|
||||||
'<references />';
|
'<references />';
|
||||||
|
|
||||||
let usesCitoid;
|
let usesCitoid;
|
||||||
|
|
||||||
|
@ -17,25 +17,17 @@ describe( 'Re-using refs in Visual Editor', () => {
|
||||||
const title = helpers.getTestString( 'CiteTest-reuseRefs' );
|
const title = helpers.getTestString( 'CiteTest-reuseRefs' );
|
||||||
|
|
||||||
cy.clearCookies();
|
cy.clearCookies();
|
||||||
cy.visit( '/index.php' );
|
|
||||||
|
|
||||||
helpers.editPage( title, wikiText );
|
helpers.editPage( title, wikiText );
|
||||||
|
|
||||||
cy.window().then( async ( win ) => {
|
cy.window().then( async ( win ) => {
|
||||||
|
await win.mw.loader.using( 'mediawiki.base' ).then( async function () {
|
||||||
|
await win.mw.hook( 'wikipage.content' ).add( function () { } );
|
||||||
|
} );
|
||||||
usesCitoid = win.mw.loader.getModuleNames().includes( 'ext.citoid.visualEditor' );
|
usesCitoid = win.mw.loader.getModuleNames().includes( 'ext.citoid.visualEditor' );
|
||||||
win.localStorage.setItem( 've-beta-welcome-dialog', 1 );
|
win.localStorage.setItem( 've-beta-welcome-dialog', 1 );
|
||||||
win.localStorage.setItem( 've-hideusered', 1 );
|
win.localStorage.setItem( 've-hideusered', 1 );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
helpers.visitTitle( title );
|
|
||||||
|
|
||||||
helpers.waitForMWLoader();
|
|
||||||
cy.window().then( async ( win ) => {
|
|
||||||
await win.mw.loader.using( 'mediawiki.base' ).then( async function () {
|
|
||||||
await win.mw.hook( 'wikipage.content' ).add( function () {} );
|
|
||||||
} );
|
|
||||||
|
|
||||||
} );
|
|
||||||
|
|
||||||
veHelpers.openVEForEditingReferences( title, usesCitoid );
|
veHelpers.openVEForEditingReferences( title, usesCitoid );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,9 @@
|
||||||
import * as helpers from './../../utils/functions.helper.js';
|
import * as helpers from './../../utils/functions.helper.js';
|
||||||
import * as veHelpers from './../../utils/ve.helper.js';
|
import * as veHelpers from './../../utils/ve.helper.js';
|
||||||
|
|
||||||
function getTestString( prefix = 'CiteTest-templates' ) {
|
|
||||||
return prefix;
|
|
||||||
}
|
|
||||||
const title = getTestString( 'CiteTest-title' );
|
|
||||||
|
|
||||||
const wikiText1 = 'This is reference #1:';
|
|
||||||
const refText1 = 'This is citation #1 for reference #1';
|
const refText1 = 'This is citation #1 for reference #1';
|
||||||
|
|
||||||
const wikiText = `${ wikiText1 } <ref name="a">${ refText1 }</ref><br> ` +
|
const wikiText = `This is reference #1: <ref name="a">${ refText1 }</ref><br> ` +
|
||||||
'<references />';
|
'<references />';
|
||||||
|
|
||||||
let usesCitoid;
|
let usesCitoid;
|
||||||
|
@ -20,48 +14,26 @@ describe( 'Re-using refs in Visual Editor using templates', () => {
|
||||||
cy.clearCookies();
|
cy.clearCookies();
|
||||||
helpers.loginAsAdmin();
|
helpers.loginAsAdmin();
|
||||||
|
|
||||||
helpers.waitForMWLoader();
|
helpers.editPage( 'MediaWiki:Cite-tool-definition.json', JSON.stringify( [
|
||||||
cy.window().then( async ( win ) => {
|
{
|
||||||
await win.mw.loader.using( 'mediawiki.api' );
|
name: 'Webseite',
|
||||||
const response = await new win.mw.Api().postWithEditToken( {
|
icon: 'ref-cite-web',
|
||||||
action: 'edit',
|
template: 'Internetquelle'
|
||||||
title: title,
|
},
|
||||||
text: wikiText,
|
{
|
||||||
formatversion: '2'
|
name: 'Literatur',
|
||||||
} );
|
icon: 'ref-cite-book',
|
||||||
|
template: 'Literatur'
|
||||||
expect( response.edit.result ).to.equal( 'Success' );
|
}
|
||||||
|
] ) );
|
||||||
await new win.mw.Api().postWithEditToken( {
|
|
||||||
action: 'edit',
|
|
||||||
title: 'MediaWiki:Cite-tool-definition.json',
|
|
||||||
|
|
||||||
text: JSON.stringify(
|
|
||||||
[
|
|
||||||
{
|
|
||||||
name: 'Webseite',
|
|
||||||
icon: 'ref-cite-web',
|
|
||||||
template: 'Internetquelle'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Literatur',
|
|
||||||
icon: 'ref-cite-book',
|
|
||||||
template: 'Literatur'
|
|
||||||
}
|
|
||||||
] ),
|
|
||||||
formatversion: '2'
|
|
||||||
} );
|
|
||||||
expect( response.edit.result ).to.equal( 'Success' );
|
|
||||||
cy.log( 'SUCCESS' );
|
|
||||||
} );
|
|
||||||
|
|
||||||
// Logout Admin account
|
|
||||||
cy.clearCookies();
|
|
||||||
} );
|
} );
|
||||||
|
|
||||||
beforeEach( () => {
|
beforeEach( () => {
|
||||||
helpers.visitTitle( title );
|
const title = helpers.getTestString( 'CiteTest-templates' );
|
||||||
helpers.waitForMWLoader();
|
|
||||||
|
cy.clearCookies();
|
||||||
|
helpers.editPage( title, wikiText );
|
||||||
|
|
||||||
cy.window().then( async ( win ) => {
|
cy.window().then( async ( win ) => {
|
||||||
await win.mw.loader.using( 'mediawiki.base' ).then( async function () {
|
await win.mw.loader.using( 'mediawiki.base' ).then( async function () {
|
||||||
await win.mw.hook( 'wikipage.content' ).add( function () { } );
|
await win.mw.hook( 'wikipage.content' ).add( function () { } );
|
||||||
|
|
|
@ -15,7 +15,6 @@ let usesCitoid;
|
||||||
|
|
||||||
describe( 'Visual Editor Cite Integration', () => {
|
describe( 'Visual Editor Cite Integration', () => {
|
||||||
before( () => {
|
before( () => {
|
||||||
cy.visit( '/index.php' );
|
|
||||||
helpers.editPage( title, wikiText );
|
helpers.editPage( title, wikiText );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
@ -24,6 +23,9 @@ describe( 'Visual Editor Cite Integration', () => {
|
||||||
helpers.waitForMWLoader();
|
helpers.waitForMWLoader();
|
||||||
|
|
||||||
cy.window().then( async ( win ) => {
|
cy.window().then( async ( win ) => {
|
||||||
|
await win.mw.loader.using( 'mediawiki.base' ).then( async function () {
|
||||||
|
await win.mw.hook( 'wikipage.content' ).add( function () { } );
|
||||||
|
} );
|
||||||
usesCitoid = win.mw.loader.getModuleNames().includes( 'ext.citoid.visualEditor' );
|
usesCitoid = win.mw.loader.getModuleNames().includes( 'ext.citoid.visualEditor' );
|
||||||
win.localStorage.setItem( 've-beta-welcome-dialog', 1 );
|
win.localStorage.setItem( 've-beta-welcome-dialog', 1 );
|
||||||
win.localStorage.setItem( 've-hideusered', 1 );
|
win.localStorage.setItem( 've-hideusered', 1 );
|
||||||
|
|
|
@ -35,11 +35,18 @@ export function waitForMWLoader() {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function editPage( title, wikiText ) {
|
export function editPage( title, wikiText ) {
|
||||||
|
visitTitle( '' );
|
||||||
waitForMWLoader();
|
waitForMWLoader();
|
||||||
cy.window().then( async ( win ) => {
|
cy.window().then( async ( win ) => {
|
||||||
await win.mw.loader.using( 'mediawiki.api' );
|
await win.mw.loader.using( 'mediawiki.api' );
|
||||||
const response = await new win.mw.Api().create( title, {}, wikiText );
|
const response = await new win.mw.Api().postWithEditToken( {
|
||||||
expect( response.result ).to.equal( 'Success' );
|
action: 'edit',
|
||||||
|
title: title,
|
||||||
|
text: wikiText,
|
||||||
|
formatversion: '2'
|
||||||
|
} );
|
||||||
|
|
||||||
|
expect( response.edit.result ).to.equal( 'Success' );
|
||||||
} );
|
} );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue