Add confirmation persisting to localStorage

This commit is contained in:
Dan Finlay 2016-06-16 15:04:50 -07:00
parent 08a153e203
commit 0f564aa64d
2 changed files with 42 additions and 1 deletions

View File

@ -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() {

View File

@ -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