summaryrefslogtreecommitdiff
path: root/www/wiki/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js')
-rw-r--r--www/wiki/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js89
1 files changed, 89 insertions, 0 deletions
diff --git a/www/wiki/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js b/www/wiki/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js
new file mode 100644
index 00000000..181e9925
--- /dev/null
+++ b/www/wiki/tests/qunit/suites/resources/mediawiki.rcfilters/dm.SavedQueryItemModel.test.js
@@ -0,0 +1,89 @@
+/* eslint-disable camelcase */
+( function ( mw ) {
+ var itemData = {
+ params: {
+ param1: '1',
+ param2: 'foo|bar',
+ invert: '0'
+ },
+ highlights: {
+ param1_color: 'c1',
+ param2_color: 'c2'
+ }
+ };
+
+ QUnit.module( 'mediawiki.rcfilters - SavedQueryItemModel' );
+
+ QUnit.test( 'Initializing and getters', function ( assert ) {
+ var model;
+
+ model = new mw.rcfilters.dm.SavedQueryItemModel(
+ 'randomID',
+ 'Some label',
+ $.extend( true, {}, itemData )
+ );
+
+ assert.equal(
+ model.getID(),
+ 'randomID',
+ 'Item ID is retained'
+ );
+
+ assert.equal(
+ model.getLabel(),
+ 'Some label',
+ 'Item label is retained'
+ );
+
+ assert.deepEqual(
+ model.getData(),
+ itemData,
+ 'Item data is retained'
+ );
+
+ assert.ok(
+ !model.isDefault(),
+ 'Item default state is retained.'
+ );
+ } );
+
+ QUnit.test( 'Default', function ( assert ) {
+ var model;
+
+ model = new mw.rcfilters.dm.SavedQueryItemModel(
+ 'randomID',
+ 'Some label',
+ $.extend( true, {}, itemData )
+ );
+
+ assert.ok(
+ !model.isDefault(),
+ 'Default state represented when item initialized with default:false.'
+ );
+
+ model.toggleDefault( true );
+ assert.ok(
+ model.isDefault(),
+ 'Default state toggles to true successfully'
+ );
+
+ model.toggleDefault( false );
+ assert.ok(
+ !model.isDefault(),
+ 'Default state toggles to false successfully'
+ );
+
+ // Reset
+ model = new mw.rcfilters.dm.SavedQueryItemModel(
+ 'randomID',
+ 'Some label',
+ $.extend( true, {}, itemData ),
+ { default: true }
+ );
+
+ assert.ok(
+ model.isDefault(),
+ 'Default state represented when item initialized with default:true.'
+ );
+ } );
+}( mediaWiki ) );