/cypress-wikibase-api

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

cypress-wikibase-api

Cypress plugin and utility functions for writing Cypress tests of Wikibase

This module contains Cypress tasks to be used in Cypress browser tests for Wikibase and its extensions.

Usage example

For example, in the Cypress tests in WikibaseLexeme, we use the API to get data about an entity that we created during our testing:

lexemePage.headerId().then( ( lexemeId ) => {
    cy.task( 'MwApi:GetEntityData', { entityId: lexemeId } ).then( ( lexeme ) => {
	expect( lexeme.lemmas[ languageItemsLanguageCode ].value ).to.eq( lemma );
	expect( lexeme.language ).to.eq( languageId );
	expect( lexeme.lexicalCategory ).to.eq( lexicalCategoryId );
    } );
});

Development

When testing changes locally, you can install the checked-out module from the project that you are working on:

npm rm cypress-wikibase-api
npm i -D ~/work/cypress-wikibase-api

Contributing

Please file any bugs or issues with our issue-tracker at phabricator.wikimedia.org.

For instruction of how to create a new release, please see CONTRIBUTING.md