resources: Strip '$' and 'mw' from file closures
[lhc/web/wiklou.git] / tests / qunit / suites / resources / mediawiki.rcfilters / dm.SavedQueryItemModel.test.js
1 /* eslint-disable camelcase */
2 ( function () {
3 var itemData = {
4 params: {
5 param1: '1',
6 param2: 'foo|bar',
7 invert: '0'
8 },
9 highlights: {
10 param1_color: 'c1',
11 param2_color: 'c2'
12 }
13 };
14
15 QUnit.module( 'mediawiki.rcfilters - SavedQueryItemModel' );
16
17 QUnit.test( 'Initializing and getters', function ( assert ) {
18 var model;
19
20 model = new mw.rcfilters.dm.SavedQueryItemModel(
21 'randomID',
22 'Some label',
23 $.extend( true, {}, itemData )
24 );
25
26 assert.strictEqual(
27 model.getID(),
28 'randomID',
29 'Item ID is retained'
30 );
31
32 assert.strictEqual(
33 model.getLabel(),
34 'Some label',
35 'Item label is retained'
36 );
37
38 assert.deepEqual(
39 model.getData(),
40 itemData,
41 'Item data is retained'
42 );
43
44 assert.strictEqual(
45 model.isDefault(),
46 false,
47 'Item default state is retained.'
48 );
49 } );
50
51 QUnit.test( 'Default', function ( assert ) {
52 var model;
53
54 model = new mw.rcfilters.dm.SavedQueryItemModel(
55 'randomID',
56 'Some label',
57 $.extend( true, {}, itemData )
58 );
59
60 assert.strictEqual(
61 model.isDefault(),
62 false,
63 'Default state represented when item initialized with default:false.'
64 );
65
66 model.toggleDefault( true );
67 assert.strictEqual(
68 model.isDefault(),
69 true,
70 'Default state toggles to true successfully'
71 );
72
73 model.toggleDefault( false );
74 assert.strictEqual(
75 model.isDefault(),
76 false,
77 'Default state toggles to false successfully'
78 );
79
80 // Reset
81 model = new mw.rcfilters.dm.SavedQueryItemModel(
82 'randomID',
83 'Some label',
84 $.extend( true, {}, itemData ),
85 { default: true }
86 );
87
88 assert.strictEqual(
89 model.isDefault(),
90 true,
91 'Default state represented when item initialized with default:true.'
92 );
93 } );
94 }() );