jenkins-bot has submitted this change and it was merged.

Change subject: Make sure a campaign exists before rendering WikiGrokDialog
......................................................................


Make sure a campaign exists before rendering WikiGrokDialog

Also update tests

Bug: T78340
Change-Id: I9b06cade0125182515badbce4ea7acc79426b169
---
M includes/Resources.php
M javascripts/modules/wikigrok/WikiGrokDialog.js
M javascripts/modules/wikigrok/init.js
M tests/qunit/modules/wikigrok/test_WikiGrokDialog.js
M tests/qunit/modules/wikigrok/test_WikiGrokDialogB.js
5 files changed, 12 insertions(+), 4 deletions(-)

Approvals:
  Jhernandez: Looks good to me, approved
  Jdlrobson: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/Resources.php b/includes/Resources.php
index 41f4383..59fbeea 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -600,6 +600,7 @@
                        'mobile.loggingSchemas',
                ),
                'scripts' => array(
+                       'javascripts/modules/wikigrok/wikiGrokCampaigns.js',
                        'javascripts/modules/wikigrok/init.js',
                ),
        ),
@@ -953,7 +954,6 @@
                'scripts' => array(
                        'javascripts/modules/wikigrok/WikiDataApi.js',
                        'javascripts/modules/wikigrok/WikiGrokResponseApi.js',
-                       'javascripts/modules/wikigrok/wikiGrokCampaigns.js',
                ),
        ),
 
diff --git a/javascripts/modules/wikigrok/WikiGrokDialog.js 
b/javascripts/modules/wikigrok/WikiGrokDialog.js
index 2cbd380..f692700 100644
--- a/javascripts/modules/wikigrok/WikiGrokDialog.js
+++ b/javascripts/modules/wikigrok/WikiGrokDialog.js
@@ -3,7 +3,6 @@
                settings = M.require( 'settings' ),
                WikiGrokResponseApi = M.require( 
'modules/wikigrok/WikiGrokResponseApi' ),
                WikiDataApi = M.require( 'modules/wikigrok/WikiDataApi' ),
-               wikiGrokCampaigns = M.require( 
'modules/wikigrok/wikiGrokCampaigns' ),
                schema = M.require( 'loggingSchemas/mobileWebWikiGrok' ),
                errorSchema = M.require( 
'loggingSchemas/mobileWebWikiGrokError' ),
                WikiGrokDialog,
@@ -65,7 +64,6 @@
                initialize: function ( options ) {
                        var self = this;
 
-                       options.campaign = 
wikiGrokCampaigns.getRandomCampaign();
                        // Remove any disambiguation parentheticals from the 
title.
                        options.name = options.title.replace( / \(.+\)$/, '' );
 
diff --git a/javascripts/modules/wikigrok/init.js 
b/javascripts/modules/wikigrok/init.js
index e7343c3..9d8f641 100644
--- a/javascripts/modules/wikigrok/init.js
+++ b/javascripts/modules/wikigrok/init.js
@@ -19,7 +19,9 @@
                },
                versionConfig,
                WikiGrokAbTest = M.require( 'WikiGrokAbTest' ),
-               wikiGrokUser = M.require( 'wikiGrokUser' );
+               wikiGrokUser = M.require( 'wikiGrokUser' ),
+               wikiGrokCampaigns = M.require( 
'modules/wikigrok/wikiGrokCampaigns' ),
+               campaign = wikiGrokCampaigns.getRandomCampaign();
 
        /**
         * Checks whether the user has already seen and responded to a WikiGrok 
question
@@ -96,6 +98,8 @@
                mw.config.get( 'wgAction' ) === 'view' &&
                // Wikibase is active and this page has an item ID
                wikidataID &&
+               // do we have a campaign?
+               campaign &&
                // We're in Main namespace,
                mw.config.get( 'wgNamespaceNumber' ) === 0
        ) {
@@ -106,6 +110,7 @@
                                page = M.getCurrentPage(),
                                // Initialize the dialog and insert it into the 
page (but don't display yet)
                                dialog = new WikiGrokDialog( {
+                                       campaign: campaign,
                                        itemId: wikidataID,
                                        title: mw.config.get( 'wgTitle' ),
                                        userToken: wikiGrokUser.getToken(),
diff --git a/tests/qunit/modules/wikigrok/test_WikiGrokDialog.js 
b/tests/qunit/modules/wikigrok/test_WikiGrokDialog.js
index d241a0e..3e49cae 100644
--- a/tests/qunit/modules/wikigrok/test_WikiGrokDialog.js
+++ b/tests/qunit/modules/wikigrok/test_WikiGrokDialog.js
@@ -3,6 +3,7 @@
        var WikiGrokDialog = M.require( 'modules/wikigrok/WikiGrokDialog' ),
                WikiDataApi = M.require( 'modules/wikigrok/WikiDataApi' ),
                WikiGrokResponseApi = M.require( 
'modules/wikigrok/WikiGrokResponseApi' ),
+               wikiGrokCampaigns = M.require( 
'modules/wikigrok/wikiGrokCampaigns' ),
                settings = M.require( 'settings'),
                campaigns = {
                        album: {
@@ -51,6 +52,7 @@
                        this.$el = $( '<div id="test">' );
                        this.wk = new WikiGrokDialog( {
                                el: this.$el,
+                               campaign: wikiGrokCampaigns.getRandomCampaign(),
                                itemId: '1234',
                                title: pageTitle,
                                userToken: 'token',
diff --git a/tests/qunit/modules/wikigrok/test_WikiGrokDialogB.js 
b/tests/qunit/modules/wikigrok/test_WikiGrokDialogB.js
index 52a46df..4544909 100644
--- a/tests/qunit/modules/wikigrok/test_WikiGrokDialogB.js
+++ b/tests/qunit/modules/wikigrok/test_WikiGrokDialogB.js
@@ -3,6 +3,7 @@
        var WikiGrokDialogB = M.require( 'modules/wikigrok/WikiGrokDialogB' ),
                WikiDataApi = M.require( 'modules/wikigrok/WikiDataApi' ),
                WikiGrokResponseApi = M.require( 
'modules/wikigrok/WikiGrokResponseApi' ),
+               wikiGrokCampaigns = M.require( 
'modules/wikigrok/wikiGrokCampaigns' ),
                campaigns = {
                        actor: {
                                property: "P106",
@@ -59,6 +60,7 @@
                        this.$el = $( '<div id="test">' );
                        this.wk = new WikiGrokDialogB( {
                                el: this.$el,
+                               campaign: wikiGrokCampaigns.getRandomCampaign(),
                                itemId: '1234',
                                title: pageTitle,
                                userToken: 'token',
@@ -139,6 +141,7 @@
                        this.$el = $( '<div id="test">' );
                        this.wk = new WikiGrokDialogB( {
                                el: this.$el,
+                               campaign: wikiGrokCampaigns.getRandomCampaign(),
                                itemId: '1234',
                                title: pageTitle,
                                userToken: 'token',

-- 
To view, visit https://gerrit.wikimedia.org/r/179364
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I9b06cade0125182515badbce4ea7acc79426b169
Gerrit-PatchSet: 5
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Bmansurov <[email protected]>
Gerrit-Reviewer: Awjrichards <[email protected]>
Gerrit-Reviewer: Bmansurov <[email protected]>
Gerrit-Reviewer: Florianschmidtwelzow <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: Jhernandez <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to