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
This commit is contained in:
Lucas Werkmeister 2022-09-30 19:00:03 +02:00
parent 21573d8288
commit 0150a0cb26
1 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,24 @@
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' );
} );
} );
} );