Просмотр исходного кода

Merge pull request #2 from sharelatex/bg-add-redis-cluster-refactor-test

add test for ioredis monkey patching
Brian Gough 9 лет назад
Родитель
Сommit
b3d1c03d4b
1 измененных файлов с 21 добавлено и 0 удалено
  1. 21 0
      libraries/redis-wrapper/test.coffee

+ 21 - 0
libraries/redis-wrapper/test.coffee

@@ -75,6 +75,27 @@ describe "index", ->
 			assert(client instanceof @ioredis.Cluster)
 			client.config.should.deep.equal @cluster
 
+	describe "monkey patch ioredis exec", ->
+		beforeEach ->
+			@callback = sinon.stub()
+			@results = []
+			@multiOrig = { exec: sinon.stub().yields(null, @results)}
+			@client = { multi: sinon.stub().returns(@multiOrig) }
+			@redis._monkeyPatchIoredisExec(@client)
+			@multi = @client.multi()
+
+		it "should return the old redis format for an array", ->
+			@results[0] = [null, 42]
+			@results[1] = [null, "foo"]
+			@multi.exec @callback
+			@callback.calledWith(null, [42, "foo"]).should.equal true
+
+		it "should return the old redis format when there is an error", ->
+			@results[0] = [null, 42]
+			@results[1] = ["error", "foo"]
+			@multi.exec @callback
+			@callback.calledWith("error").should.equal true
+
 	describe "setting the password", ->
 		beforeEach ->
 			@standardOpts =