From 74cea36219619a387374baf73179e10f14c002eb Mon Sep 17 00:00:00 2001 From: koalyptus Date: Mon, 8 Jan 2018 21:38:55 +1100 Subject: [PATCH] PR feedback --- test/test-state.js | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/test/test-state.js b/test/test-state.js index b8b58a8e..966ab1e8 100644 --- a/test/test-state.js +++ b/test/test-state.js @@ -36,7 +36,7 @@ test('Should not initialize if already initialized', function() { }); module('Behaviour'); -test('Can update', function() { +test('Can update filters state', function() { // setup state.state = {}; @@ -236,6 +236,13 @@ test('Can sync state', function() { test('Can override state', function() { // setup + var hit = 0; + var initialEmit = state.emitter.emit; + var args = null; + state.emitter.emit = function() { + args = arguments; + hit++; + }; state.state = {}; // act @@ -244,6 +251,12 @@ test('Can override state', function() { // assert deepEqual(state.state, { 'col_1': { 'flt': 'Ade' } }, 'State field overriden'); + deepEqual(hit, 1, 'event emitted'); + deepEqual(args[0], 'state-changed', 'event name'); + deepEqual(args[1], tf, 'tf parameter'); + deepEqual(args[2], state.state, 'state parameter'); + + state.emitter.emit = initialEmit; }); test('Can override and sync state', function() { @@ -327,6 +340,22 @@ test('Can update filters visibility', function() { 'Filters visibility updated'); }); +test('sync filters can clear filters before applying state', function() { + // setup + state.state = {'col_0': { 'flt': 'Ade' }}; + tf.setFilterValue(1, 'Can'); + tf.setFilterValue(2, '1412'); + + // act + state._syncFilters(); + + // assert + deepEqual(tf.getFilterValue(1), '', 'filter 1 cleared'); + deepEqual(tf.getFilterValue(2), '', 'filter 2 cleared'); + deepEqual(tf.getFilterValue(0), 'Ade', 'filter 0 state value applied'); + deepEqual(tf.getValidRows(), [6, 7, 8], 'Filtered rows'); +}); + module('Tear-down'); test('Can destroy TF', function() { // setup