Added some tests for redis document store

This commit is contained in:
John Crepezzi 2011-11-28 20:49:12 -05:00
parent 68c4fc2534
commit 844e664cb5
2 changed files with 78 additions and 5 deletions

View file

@ -1,7 +1,2 @@
# TODO for OSS
* tests
* Add file extensions ourselves to push state * Add file extensions ourselves to push state
* add feedback for errors to UI - esp. too long * add feedback for errors to UI - esp. too long
# shared version only
* some way to do announcements easily (and use for ads)

View file

@ -0,0 +1,78 @@
var RedisDocumentStore = require('../lib/redis_document_store');
describe('redis_document_store', function() {
describe('set', function() {
it('should be able to set a key and have an expiration set', function() {
var store = new RedisDocumentStore({ expire: 10 });
runs(function() {
var _this = this;
store.set('hello1', 'world', function(worked) {
_this.result = worked;
});
});
waitsFor(function() {
return typeof(this.result) === 'boolean';
});
runs(function() {
var _this = this;
RedisDocumentStore.client.ttl('hello1', function(err, res) {
expect(res).toBeGreaterThan(1);
_this.done = true;
});
});
waitsFor(function() {
return this.done;
});
});
it('should not set an expiration when told not to', function() {
var store = new RedisDocumentStore({ expire: 10 });
runs(function() {
var _this = this;
store.set('hello2', 'world', function(worked) {
_this.result = worked;
}, true);
});
waitsFor(function() {
return typeof(this.result) === 'boolean';
});
runs(function() {
var _this = this;
RedisDocumentStore.client.ttl('hello2', function(err, res) {
expect(res).toBe(-1);
_this.done = true;
});
});
waitsFor(function() {
return this.done;
});
});
it('should not set an expiration when expiration is off', function() {
var store = new RedisDocumentStore({ expire: false });
runs(function() {
var _this = this;
store.set('hello3', 'world', function(worked) {
_this.result = worked;
});
});
waitsFor(function() {
return typeof(this.result) === 'boolean';
});
runs(function() {
var _this = this;
RedisDocumentStore.client.ttl('hello3', function(err, res) {
expect(res).toBe(-1);
_this.done = true;
});
});
waitsFor(function() {
return this.done;
});
});
});
});