jenkins-bot has submitted this change and it was merged. Change subject: Implement random= override test ......................................................................
Implement random= override test Bug: T86091 Change-Id: I0870b6c3a6fe31ce619bef20491d0c88b13c2626 --- M tests/qunit/ext.centralNotice.bannerController/bannerController.tests.js 1 file changed, 55 insertions(+), 2 deletions(-) Approvals: Awight: Looks good to me, but someone else must approve AndyRussG: Looks good to me, approved jenkins-bot: Verified diff --git a/tests/qunit/ext.centralNotice.bannerController/bannerController.tests.js b/tests/qunit/ext.centralNotice.bannerController/bannerController.tests.js index 8d03f7f..1a8e278 100644 --- a/tests/qunit/ext.centralNotice.bannerController/bannerController.tests.js +++ b/tests/qunit/ext.centralNotice.bannerController/bannerController.tests.js @@ -2,11 +2,42 @@ 'use strict'; var realAjax = $.ajax, + realGetVars = mw.centralNotice.data.getVars, bannerData = { bannerName: 'test_banner', campaign: 'test_campaign', category: 'test', bannerHtml: '<div id="test_banner"></div>' + }, + nowSec = Date.now() / 1000, + equalChoicesCampaign = { + name: '50-50_fixture', + preferred: 1, + throttle: 100, + bucket_count: 1, + geotargeted: false, + start: nowSec - 1, + end: nowSec + 600, + banners: [ + { + name: 'banner_A', + weight: 25, + bucket: 0, + category: 'fundraising', + devices: [ 'desktop' ], + display_anon: true, + display_account: true + }, + { + name: 'banner_B', + weight: 25, + bucket: 0, + category: 'fundraising', + devices: [ 'desktop' ], + display_anon: true, + display_account: true + } + ] }; QUnit.module( 'ext.centralNotice.bannerController', QUnit.newMwEnvironment( { @@ -25,7 +56,8 @@ // Force to the first bucket. mw.centralNotice.getBucket = function() { return 0; }; - $.extend( mw.centralNotice.data.getVars, { + mw.centralNotice.data.getVars = {}; + $.extend( mw.centralNotice.data.getVars, realGetVars, { // Boring defaults, assumed by test fixtures. // FIXME: move to tests that actually assume this. Move the // initialize() call as well. @@ -57,12 +89,13 @@ }; // Create normalized siteNotice. - $( "#qunit-fixture" ).append( + $( '#qunit-fixture' ).append( '<div id=siteNotice><div id=centralNotice></div></div>' ); }, teardown: function () { $.ajax = realAjax; + mw.centralNotice.data.getVars = realGetVars; } } ) ); @@ -103,4 +136,24 @@ assert.ok( mw.centralNotice.data.testing ); } ); + QUnit.test( 'random= override param', 2, function( assert ) { + mw.cnBannerControllerLib.setChoiceData( [ equalChoicesCampaign ] ); + + // Get the first banner + mw.centralNotice.data.getVars.random = 0.25; + + $.ajax = function( params ) { + assert.ok( params.url.match( /Special(?:[:]|%3A)BannerLoader.*[?&]banner=banner_A/ ) ); + }; + mw.centralNotice.loadBanner(); + + // Get the second banner + mw.centralNotice.data.getVars.random = 0.75; + + $.ajax = function( params ) { + assert.ok( params.url.match( /Special(?:[:]|%3A)BannerLoader.*[?&]banner=banner_B/ ) ); + }; + mw.centralNotice.loadBanner(); + } ); + }( mediaWiki, jQuery ) ); -- To view, visit https://gerrit.wikimedia.org/r/173663 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I0870b6c3a6fe31ce619bef20491d0c88b13c2626 Gerrit-PatchSet: 14 Gerrit-Project: mediawiki/extensions/CentralNotice Gerrit-Branch: master Gerrit-Owner: Awight <awi...@wikimedia.org> Gerrit-Reviewer: AndyRussG <andrew.green...@gmail.com> Gerrit-Reviewer: Awight <awi...@wikimedia.org> Gerrit-Reviewer: Ejegg <eeggles...@wikimedia.org> Gerrit-Reviewer: Katie Horn <kh...@wikimedia.org> Gerrit-Reviewer: Mwalker <mwal...@khaosdev.com> Gerrit-Reviewer: Ssmith <ssm...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits