From 58a2e80f10f0f78629f4f7a62a6a934a69310518 Mon Sep 17 00:00:00 2001 From: Radek Stepan Date: Tue, 26 Jan 2016 18:57:33 +0100 Subject: [PATCH] store get with callback tests --- src/js/lib/Store.js | 1 - test/Store.js | 24 ++++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/js/lib/Store.js b/src/js/lib/Store.js index e85c2ae..b221786 100644 --- a/src/js/lib/Store.js +++ b/src/js/lib/Store.js @@ -99,7 +99,6 @@ export default class Store extends EventEmitter { if (opa.has(this[DATA], path)) return cb(val); - // TODO: unit-test. this.on(path, (...args) => { this.off(path, cb); cb.apply(this, args); diff --git a/test/Store.js b/test/Store.js index 053bdbb..eda0099 100644 --- a/test/Store.js +++ b/test/Store.js @@ -36,6 +36,30 @@ export default { done(); }, + 'store - get': (done) => { + let s = new Store({ 'A': [ 1, 2 ], 'B': { 'C': 3 } }); + + assert.equal(2, s.get('A.1')); // key as a string + assert.equal(3, s.get([ 'B', 'C' ])); // key as an array + + done(); + }, + + 'store - get with callback': (done) => { + let s = new Store({ 'A': 1 }); + + let vals = []; + let cb = (val) => vals.push(val); + + s.get('A', cb); + s.get('B', cb); + s.set('B', 2); // value provided only now + + assert.deepEqual([ 1, 2 ], vals); + + done(); + }, + 'store - setSilent': (done) => { let s = new Store();