mediawiki-extensions-Popups/tests/node-qunit/ui/settingsDialogRenderer.test.js
Svantje Lilienthal 09c2c52945 Added popup types handling
We added reference preview as a checkbox the the
anonymous user settings. To handle both popup types
(pages and references), we changed the usage of
preview.enabled. We pass on all types as a map
inside preview.enabled. The footer link to edit the
settings will appear for anonymous users if at least
one type is disabled.

Bug: T277639
Change-Id: I860a1b35ac7749d8d0884575f6acb7186ad8e4d0
2021-04-23 12:14:23 +02:00

49 lines
1 KiB
JavaScript

import createSettingsDialogRenderer from '../../../src/ui/settingsDialogRenderer';
QUnit.module( 'ext.popups/settingsDialogRenderer', {
beforeEach() {
function render() {
return $( '<div>' );
}
function getTemplate() {
return { render };
}
mw.html = { escape: ( str ) => str };
mw.template = { get: getTemplate };
mw.config = { get() {} };
mw.msg = () => {};
},
afterEach() {
mw.msg = null;
mw.config = null;
mw.template = null;
mw.html = null;
}
} );
QUnit.test( '#render', ( assert ) => {
const boundActions = {
saveSettings() {},
hideSettings() {}
},
expected = {
appendTo() {},
show() {},
hide() {},
toggleHelp() {},
setEnabled() {}
},
result = createSettingsDialogRenderer( mw.config )( boundActions );
// Specifically NOT a deep equal. Only structure.
assert.propEqual(
result,
expected,
'Interface exposed has the expected methods'
);
} );
// FIXME: Add Qunit integration tests about the rendering and the behavior of
// the settings dialog.