import * as helpers from './../../utils/functions.helper.js';
const title = helpers.getTestString( 'CiteTest-title' );
const refText1 = 'This is citation #1 for reference #1 and #2';
const refText2 = 'This is citation #2 for reference #3';
const wikiText = `This is reference #1: [${ refText1 }]
` +
'This is reference #2
' +
`This is reference #3 [${ refText2 }]
` +
'';
describe( 'Visual Editor Cite Integration', () => {
before( () => {
cy.visit( '/index.php' );
helpers.editPage( title, wikiText );
} );
beforeEach( () => {
helpers.visitTitle( title );
cy.window().then( async ( win ) => {
win.localStorage.setItem( 've-beta-welcome-dialog', 1 );
} );
helpers.visitTitle( title, { veaction: 'edit' } );
helpers.waitForVEToLoad();
} );
it( 'should edit and verify reference content in Visual Editor', () => {
helpers.getVEFootnoteMarker( 'a', 1, 1 ).click();
// Popup appears containing ref content
helpers.getVEReferenceContextItem()
.should( 'be.visible' )
.should( 'contain.text', refText1 );
// Open reference edit dialog
helpers.getVEReferenceContextItemEdit().click();
// Dialog appears with ref content
helpers.getVEReferenceEditDialog()
.should( 'be.visible' )
.should( 'contain.text', refText1 );
} );
it( 'should display existing references in the Cite re-use dialog', () => {
helpers.openVECiteReuseDialog();
// Assert reference content for the first reference
helpers.getCiteReuseDialogRefResultName( 1 ).should( 'have.text', 'a' );
helpers.getCiteReuseDialogRefResultCitation( 1 ).should( 'have.text', '[1]' );
helpers.getCiteReuseDialogRefText( 1 ).should( 'have.text', refText1 );
// Assert reference content for the second reference
helpers.getCiteReuseDialogRefResultName( 2 ).should( 'have.text', '' );
helpers.getCiteReuseDialogRefResultCitation( 2 ).should( 'have.text', '[2]' );
helpers.getCiteReuseDialogRefText( 2 ).should( 'have.text', refText2 );
} );
} );