mediawiki-skins-Vector/tests/jest/instrumentation.test.js
Lucas Werkmeister 0150a0cb26 search: Add some tests for instrumentation.js
Change I45dda26cb5 removes some code, and in the process reduces the
branch coverage of the skins.vector.search module below the threshold of
25% that CI requires; add some tests for instrumentation.js to bring the
branch coverage up again.

Change-Id: I5d7ae019b3219b410c658583a6d72cf56d0cc1c5
2022-09-30 19:05:03 +02:00

25 lines
763 B
JavaScript

const instrumentation = require( '../../resources/skins.vector.search/instrumentation.js' );
describe( 'instrumentation', () => {
test.each( [
[ 0, 'acrw10' ],
[ 1, 'acrw11' ],
[ -1, 'acrw1' ]
] )( 'getWprovFromResultIndex( %d ) = %s', ( index, expected ) => {
expect( instrumentation.getWprovFromResultIndex( index ) )
.toBe( expected );
} );
describe( 'generateUrl', () => {
test.each( [
[ 'string', 'title' ],
[ 'object', { title: 'title' } ]
] )( 'should generate URL from %s', ( _name, suggestion ) => {
const meta = { index: 1 };
expect( instrumentation.generateUrl( suggestion, meta ) )
// mw-node-qunit provides a pretty weird mw.Uri.toString()...
.toBe( 'https://host?title=suggestion=wprov' );
} );
} );
} );