diff options
author | Dan Finlay <dan@danfinlay.com> | 2016-06-17 06:04:50 +0800 |
---|---|---|
committer | Dan Finlay <dan@danfinlay.com> | 2016-06-17 06:04:50 +0800 |
commit | 0f564aa64dbeb70744de6249d88da3ed7ae2e487 (patch) | |
tree | 5433a564561bc3674403c46c0bbb8d5c7d5e5159 | |
parent | 08a153e20306da3aee585fc8b3bcfec2d73ce49e (diff) | |
download | tangerine-wallet-browser-0f564aa64dbeb70744de6249d88da3ed7ae2e487.tar tangerine-wallet-browser-0f564aa64dbeb70744de6249d88da3ed7ae2e487.tar.gz tangerine-wallet-browser-0f564aa64dbeb70744de6249d88da3ed7ae2e487.tar.bz2 tangerine-wallet-browser-0f564aa64dbeb70744de6249d88da3ed7ae2e487.tar.lz tangerine-wallet-browser-0f564aa64dbeb70744de6249d88da3ed7ae2e487.tar.xz tangerine-wallet-browser-0f564aa64dbeb70744de6249d88da3ed7ae2e487.tar.zst tangerine-wallet-browser-0f564aa64dbeb70744de6249d88da3ed7ae2e487.zip |
Add confirmation persisting to localStorage
-rw-r--r-- | app/scripts/lib/config-manager.js | 11 | ||||
-rw-r--r-- | test/unit/config-manager-test.js | 32 |
2 files changed, 42 insertions, 1 deletions
diff --git a/app/scripts/lib/config-manager.js b/app/scripts/lib/config-manager.js index f5e1cf38d..24571748f 100644 --- a/app/scripts/lib/config-manager.js +++ b/app/scripts/lib/config-manager.js @@ -270,6 +270,17 @@ ConfigManager.prototype._emitUpdates = function(state){ }) } +ConfigManager.prototype.setConfirmed = function(confirmed) { + var data = this.getData() + data.isConfirmed = confirmed + this.setData(data) +} + +ConfigManager.prototype.getConfirmed = function() { + var data = this.getData() + return ('isConfirmed' in data) && data.isConfirmed +} + function loadData() { diff --git a/test/unit/config-manager-test.js b/test/unit/config-manager-test.js index aa94dc385..130bde2ff 100644 --- a/test/unit/config-manager-test.js +++ b/test/unit/config-manager-test.js @@ -4,11 +4,41 @@ var configManager describe('config-manager', function() { - before(function() { + beforeEach(function() { window.localStorage = {} // Hacking localStorage support into JSDom configManager = new ConfigManager() }) + describe('confirmation', function() { + + describe('#getConfirmed', function() { + it('should return false if no previous key exists', function() { + var result = configManager.getConfirmed() + assert.ok(!result) + }) + }) + + describe('#setConfirmed', function() { + it('should make getConfirmed return true once set', function() { + configManager.setConfirmed(true) + var result = configManager.getConfirmed() + assert.equal(result, true) + }) + + it('should be able to set false', function() { + configManager.setConfirmed(false) + var result = configManager.getConfirmed() + assert.equal(result, false) + }) + + it('should persist to local storage', function() { + configManager.setConfirmed(true) + var data = configManager.getData() + assert.equal(data.isConfirmed, true) + }) + }) + }) + describe('#setConfig', function() { window.localStorage = {} // Hacking localStorage support into JSDom |