2014-12-03 04:24:52 -08:00
|
|
|
var LocalStorage = require('../js/plugins/LocalStorage');
|
|
|
|
var assert = require('assert');
|
|
|
|
|
|
|
|
describe('local storage plugin', function() {
|
|
|
|
|
|
|
|
var storage, storageMock, VALUE=123;
|
|
|
|
|
|
|
|
beforeEach(function() {
|
|
|
|
storageMock = {};
|
|
|
|
storageMock.getItem = sinon.stub().returns(VALUE);
|
2014-12-03 04:40:54 -08:00
|
|
|
storageMock.createItem = sinon.stub().returns();
|
2014-12-03 04:24:52 -08:00
|
|
|
storageMock.setItem = sinon.stub().returns();
|
|
|
|
storageMock.removeItem = sinon.stub().returns();
|
|
|
|
storageMock.clear = sinon.stub().returns();
|
|
|
|
storage = new LocalStorage({
|
|
|
|
ls: storageMock
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it('#getItem', function(done) {
|
|
|
|
storage.getItem('hola', function(err, value) {
|
|
|
|
assert(!err);
|
|
|
|
storageMock.getItem.getCall(0).args[0].should.equal('hola');
|
|
|
|
value.should.equal(VALUE);
|
|
|
|
return done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
2014-12-03 04:40:54 -08:00
|
|
|
it('#createItem', function(done) {
|
|
|
|
storageMock.getItem = sinon.stub().returns(null);
|
|
|
|
storage.createItem('hola', 'value', function(err) {
|
|
|
|
assert(!err);
|
|
|
|
return done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it('#createItem (Exists)', function(done) {
|
|
|
|
storage.createItem('hola', 'value', function(err) {
|
|
|
|
err.should.contain('EEXISTS');
|
|
|
|
return done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
2014-12-03 04:24:52 -08:00
|
|
|
|
|
|
|
it('#removeItem', function(done) {
|
|
|
|
storage.removeItem('pepe', function(err) {
|
|
|
|
assert(!err);
|
|
|
|
storageMock.removeItem.getCall(0).args[0].should.equal('pepe');
|
|
|
|
return done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it('#setItem', function(done) {
|
|
|
|
storage.setItem('hola', 'chau', function(err) {
|
|
|
|
assert(!err);
|
|
|
|
storageMock.setItem.getCall(0).args[0].should.equal('hola');
|
|
|
|
storageMock.setItem.getCall(0).args[1].should.equal('chau');
|
|
|
|
return done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
it('#clear', function(done) {
|
|
|
|
storage.clear(function(err) {
|
|
|
|
assert(!err);
|
2014-12-10 05:49:25 -08:00
|
|
|
storageMock.clear.calledOnce.should.be.false;
|
2014-12-03 04:24:52 -08:00
|
|
|
return done();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
});
|