mediawiki-extensions-Popups/tests/node-qunit/isEnabled.test.js
Stephen Niedzielski abc2026890 Hygiene: replace QUnit assert.equal with strictEqual()
Via jscodeshift:

  jscodeshift \
    -t jscodeshift-recipes/src/qunit-assert-equal-to-strictEqual.js \
    Popups/tests

Also, some very minor manual clean up.

https://github.com/niedzielski/jscodeshift-recipes/blob/5944e50/src/qunit-assert-equal-to-strictEqual.js

Additional change:
* Drop redundant clipPath parameter from createThumbnailElement - this
parameter does not exist in the function signature.

Change-Id: I209ecf2d54b6f5c17767aa2041d8f11cb368a9b5
2018-06-18 19:48:16 +00:00

78 lines
1.9 KiB
JavaScript

/* global Map: false */
import * as stubs from './stubs';
import isEnabled from '../../src/isEnabled';
function createStubUserSettings( isEnabled ) {
return {
hasIsEnabled() {
return isEnabled !== undefined;
},
getIsEnabled() {
return Boolean( isEnabled );
}
};
}
QUnit.module( 'ext.popups#isEnabled (logged out)', {
beforeEach() {
this.user = stubs.createStubUser( /* isAnon = */ true );
}
} );
QUnit.test( 'is should handle logged out users', ( assert ) => {
const user = stubs.createStubUser( /* isAnon = */ true ),
config = new Map();
const cases = [
/*
[
<isAnon>, <expected value of isEnabled>, <test description>
]
*/
[ undefined, true, 'When the user hasn\'t enabled or disabled' +
' the feature.' ],
[ false, false, 'When the user has disabled the feature' ],
[ true, true, 'When the user has enabled the feature' ]
];
let userSettings;
for ( let i = 0; i < cases.length; i++ ) {
const testCase = cases[ i ];
userSettings = createStubUserSettings( testCase[ 0 ] );
assert.strictEqual(
isEnabled( user, userSettings, config ),
testCase[ 1 ],
testCase[ 2 ]
);
}
} );
QUnit.test( 'it should handle logged in users', ( assert ) => {
const user = stubs.createStubUser( /* isAnon = */ false ),
userSettings = createStubUserSettings( false ),
config = new Map();
config.set( 'wgPopupsShouldSendModuleToUser', true );
assert.ok(
isEnabled( user, userSettings, config ),
'If the user is logged in and the user is in the on group, then it\'s enabled.'
);
} );
QUnit.test( 'it should handle the conflict with the Navigation Popups Gadget', ( assert ) => {
const user = stubs.createStubUser( /* isAnon = */ false ),
userSettings = createStubUserSettings( false ),
config = new Map();
config.set( 'wgPopupsConflictsWithNavPopupGadget', true );
assert.notOk(
isEnabled( user, userSettings, config ),
'Page Previews is disabled when it conflicts with the Navigation Popups Gadget.'
);
} );