Phuedx has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/327196 )

Change subject: Hygiene: Make mw.popups#isEnabled return boolean
......................................................................

Hygiene: Make mw.popups#isEnabled return boolean

Action changes:
* Update the BOOT action to include isEnabled and update the associated
  tests.

Reducer changes:
* Make the preview and eventLogging reducers handle the BOOT action's
  new shape.

Bug: T152687
Change-Id: I3fa2098269a32912eda99ceb8f13887688a14c15
---
M resources/ext.popups/actions.js
M resources/ext.popups/reducers/eventLogging.js
M resources/ext.popups/reducers/preview.js
M tests/qunit/ext.popups/actions.test.js
M tests/qunit/ext.popups/reducers/eventLogging.test.js
M tests/qunit/ext.popups/reducers/preview.test.js
6 files changed, 11 insertions(+), 16 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Popups 
refs/changes/96/327196/1

diff --git a/resources/ext.popups/actions.js b/resources/ext.popups/actions.js
index aa71472..4f4e484 100644
--- a/resources/ext.popups/actions.js
+++ b/resources/ext.popups/actions.js
@@ -52,7 +52,7 @@
         * 
[`mw.requestIdleCallback`](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestIdleCallback))
         * so as not to impact latency-critical events.
         *
-        * @param {Function} isUserInCondition See `mw.popups.createExperiment`
+        * @param {Boolean} isEnabled See `mw.popups.isEnabled`
         * @param {mw.user} user
         * @param {ext.popups.UserSettings} userSettings
         * @param {Function} generateToken
@@ -60,7 +60,7 @@
         *  i.e. `mw.config`
         */
        actions.boot = function (
-               isUserInCondition,
+               isEnabled,
                user,
                userSettings,
                generateToken,
@@ -71,6 +71,7 @@
 
                return {
                        type: types.BOOT,
+                       isEnabled: isEnabled,
                        sessionToken: user.sessionId(),
                        pageToken: generateToken(),
                        page: {
@@ -79,7 +80,6 @@
                                id: config.get( 'wgArticleId' )
                        },
                        user: {
-                               isInCondition: isUserInCondition(),
                                isAnon: user.isAnon(),
                                editCount: editCount,
                                previewCount: previewCount
diff --git a/resources/ext.popups/reducers/eventLogging.js 
b/resources/ext.popups/reducers/eventLogging.js
index 2ce4bcd..af8e7b3 100644
--- a/resources/ext.popups/reducers/eventLogging.js
+++ b/resources/ext.popups/reducers/eventLogging.js
@@ -41,7 +41,7 @@
                                                namespaceIdSource: 
action.page.namespaceID,
                                                pageIdSource: action.page.id,
                                                isAnon: action.user.isAnon,
-                                               popupEnabled: 
action.user.isInCondition,
+                                               popupEnabled: action.isEnabled,
                                                pageToken: action.pageToken,
                                                sessionToken: 
action.sessionToken,
                                                editCountBucket: 
popups.counts.getEditCountBucket( action.user.editCount ),
diff --git a/resources/ext.popups/reducers/preview.js 
b/resources/ext.popups/reducers/preview.js
index dc5686b..8724392 100644
--- a/resources/ext.popups/reducers/preview.js
+++ b/resources/ext.popups/reducers/preview.js
@@ -22,7 +22,7 @@
                switch ( action.type ) {
                        case popups.actionTypes.BOOT:
                                return nextState( state, {
-                                       enabled: action.user.isInCondition
+                                       enabled: action.isEnabled
                                } );
                        case popups.actionTypes.LINK_DWELL:
                                return nextState( state, {
diff --git a/tests/qunit/ext.popups/actions.test.js 
b/tests/qunit/ext.popups/actions.test.js
index 6e2591e..54e54bb 100644
--- a/tests/qunit/ext.popups/actions.test.js
+++ b/tests/qunit/ext.popups/actions.test.js
@@ -7,10 +7,7 @@
        QUnit.module( 'ext.popups/actions' );
 
        QUnit.test( '#boot', function ( assert ) {
-               var isUserInCondition = function () {
-                               return false;
-                       },
-                       config = new mw.Map(),
+               var config = new mw.Map(),
                        stubUser = mw.popups.tests.stubs.createStubUser( /* 
isAnon = */ true ),
                        stubUserSettings,
                        action;
@@ -31,7 +28,7 @@
                assert.expect( 1 );
 
                action = mw.popups.actions.boot(
-                       isUserInCondition,
+                       false,
                        stubUser,
                        stubUserSettings,
                        generateToken,
@@ -42,6 +39,7 @@
                        action,
                        {
                                type: 'BOOT',
+                               isEnabled: false,
                                sessionToken: '0123456789',
                                pageToken: '9876543210',
                                page: {
@@ -50,7 +48,6 @@
                                        id: 2
                                },
                                user: {
-                                       isInCondition: false,
                                        isAnon: true,
                                        editCount: 3,
                                        previewCount: 22
diff --git a/tests/qunit/ext.popups/reducers/eventLogging.test.js 
b/tests/qunit/ext.popups/reducers/eventLogging.test.js
index 8ea8ad1..f8b726c 100644
--- a/tests/qunit/ext.popups/reducers/eventLogging.test.js
+++ b/tests/qunit/ext.popups/reducers/eventLogging.test.js
@@ -25,6 +25,7 @@
        QUnit.test( 'BOOT', function ( assert ) {
                var action = {
                                type: 'BOOT',
+                               isEnabled: true,
                                sessionToken: '0123456789',
                                pageToken: '9876543210',
                                page: {
@@ -33,7 +34,6 @@
                                        id: 2
                                },
                                user: {
-                                       isInCondition: true,
                                        isAnon: false,
                                        editCount: 11,
                                        previewCount: 22
@@ -54,7 +54,7 @@
                                        namespaceIdSource: 
action.page.namespaceID,
                                        pageIdSource: action.page.id,
                                        isAnon: action.user.isAnon,
-                                       popupEnabled: action.user.isInCondition,
+                                       popupEnabled: action.isEnabled,
                                        pageToken: action.pageToken,
                                        sessionToken: action.sessionToken,
                                        editCountBucket: 
expectedEditCountBucket,
diff --git a/tests/qunit/ext.popups/reducers/preview.test.js 
b/tests/qunit/ext.popups/reducers/preview.test.js
index 99b290d..dc9ede9 100644
--- a/tests/qunit/ext.popups/reducers/preview.test.js
+++ b/tests/qunit/ext.popups/reducers/preview.test.js
@@ -26,9 +26,7 @@
        QUnit.test( 'BOOT', function ( assert ) {
                var action = {
                        type: 'BOOT',
-                       user: {
-                               isInCondition: true
-                       }
+                       isEnabled: true
                };
 
                assert.expect( 1 );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3fa2098269a32912eda99ceb8f13887688a14c15
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Popups
Gerrit-Branch: mpga
Gerrit-Owner: Phuedx <[email protected]>

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

Reply via email to