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