Merge "Remove perf tracking code that was moved to WikimediaEvents in Ib300af5c"
[lhc/web/wiklou.git] / tests / qunit / suites / resources / mediawiki.rcfilters / dm.SavedQueryItemModel.test.js
1 /* eslint-disable camelcase */
2 ( function ( mw ) {
3 var itemData = {
4 params: {
5 param1: '1',
6 param2: 'foo|bar',
7 highlight: '1',
8 invert: '0'
9 },
10 highlights: {
11 param1_color: 'c1',
12 param2_color: 'c2'
13 }
14 };
15
16 QUnit.module( 'mediawiki.rcfilters - SavedQueryItemModel' );
17
18 QUnit.test( 'Initializing and getters', function ( assert ) {
19 var model;
20
21 model = new mw.rcfilters.dm.SavedQueryItemModel(
22 'randomID',
23 'Some label',
24 $.extend( true, {}, itemData )
25 );
26
27 assert.equal(
28 model.getID(),
29 'randomID',
30 'Item ID is retained'
31 );
32
33 assert.equal(
34 model.getLabel(),
35 'Some label',
36 'Item label is retained'
37 );
38
39 assert.deepEqual(
40 model.getData(),
41 itemData,
42 'Item data is retained'
43 );
44
45 assert.ok(
46 !model.isDefault(),
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.ok(
61 !model.isDefault(),
62 'Default state represented when item initialized with default:false.'
63 );
64
65 model.toggleDefault( true );
66 assert.ok(
67 model.isDefault(),
68 'Default state toggles to true successfully'
69 );
70
71 model.toggleDefault( false );
72 assert.ok(
73 !model.isDefault(),
74 'Default state toggles to false successfully'
75 );
76
77 // Reset
78 model = new mw.rcfilters.dm.SavedQueryItemModel(
79 'randomID',
80 'Some label',
81 $.extend( true, {}, itemData ),
82 { default: true }
83 );
84
85 assert.ok(
86 model.isDefault(),
87 'Default state represented when item initialized with default:true.'
88 );
89 } );
90 }( mediaWiki ) );