From 8896c74e372d6a2313780ce4b97b6e9d5e1b8920 Mon Sep 17 00:00:00 2001 From: Aaron Chambers Date: Mon, 22 Jun 2015 13:28:30 +0100 Subject: [PATCH] Added tests for activate function of redis client --- tests/unit/lib/redis-nodetest.js | 44 ++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tests/unit/lib/redis-nodetest.js b/tests/unit/lib/redis-nodetest.js index 5b4ff80..b9a5a05 100644 --- a/tests/unit/lib/redis-nodetest.js +++ b/tests/unit/lib/redis-nodetest.js @@ -169,4 +169,48 @@ describe('redis', function() { }); }); }); + + describe('#activate', function() { + it('rejects if the revisionKey doesn\t exist in list of uploaded revisions', function() { + var recentRevisions = ['a', 'b', 'c']; + + var redis = new Redis({ + redisClient: { + lrange: function() { + return recentRevisions; + } + } + }); + + var promise = redis.activate('key-prefix', 'revision-key'); + return assert.isRejected(promise) + .then(function(error) { + assert.equal(error, '`revision-key` is not a valid revision key'); + }); + }); + + it('resolves and sets the current revision to the revision key provided', function() { + var recentRevisions = ['a', 'b', 'c']; + var redisKey, redisValue; + + var redis = new Redis({ + redisClient: { + lrange: function() { + return recentRevisions; + }, + set: function(key, value) { + redisKey = key; + redisValue = value; + } + } + }); + + var promise = redis.activate('key-prefix', 'c'); + return assert.isFulfilled(promise) + .then(function() { + assert.equal(redisKey, 'key-prefix:current'); + assert.equal(redisValue, 'c'); + }); + }); + }); });