1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-07 13:22:56 +03:00

based on code-review added back check for error

This commit is contained in:
Benjamin Coe
2015-09-13 19:17:52 -07:00
parent bb1ab1498b
commit 68936c5eb2

View File

@@ -60,11 +60,13 @@ describe("The 'multi' method", function () {
it('roles back a transaction when one command in a sequence of commands fails', function (done) { it('roles back a transaction when one command in a sequence of commands fails', function (done) {
var multi1, multi2; var multi1, multi2;
var expected = helper.serverVersionAtLeast(client, [2, 6, 5]) ? helper.isError() : function () {};
// Provoke an error at queue time // Provoke an error at queue time
multi1 = client.MULTI(); multi1 = client.MULTI();
multi1.mset("multifoo", "10", "multibar", "20", helper.isString("OK")); multi1.mset("multifoo", "10", "multibar", "20", helper.isString("OK"));
multi1.set("foo2");
multi1.set("foo2", expected);
multi1.incr("multifoo"); multi1.incr("multifoo");
multi1.incr("multibar"); multi1.incr("multibar");
multi1.exec(function () { multi1.exec(function () {
@@ -90,31 +92,33 @@ describe("The 'multi' method", function () {
}); });
it('roles back a transaction when one command in an array of commands fails', function (done) { it('roles back a transaction when one command in an array of commands fails', function (done) {
// test nested multi-bulk replies var expected = helper.serverVersionAtLeast(client, [2, 6, 5]) ? helper.isError() : function () {};
client.multi([
["mget", "multifoo", "multibar", function (err, res) {
assert.strictEqual(2, res.length);
assert.strictEqual(0, +res[0]);
assert.strictEqual(0, +res[1]);
}],
["set", "foo2"],
["incr", "multifoo"],
["incr", "multibar"]
]).exec(function (err, replies) {
if (helper.serverVersionAtLeast(client, [2, 6, 5])) {
assert.notEqual(err, null);
assert.equal(replies, undefined);
} else {
assert.strictEqual(2, replies[0].length);
assert.strictEqual(null, replies[0][0]);
assert.strictEqual(null, replies[0][1]);
assert.strictEqual("1", replies[1].toString()); // test nested multi-bulk replies
assert.strictEqual("1", replies[2].toString()); client.multi([
} ["mget", "multifoo", "multibar", function (err, res) {
assert.strictEqual(2, res.length);
assert.strictEqual(0, +res[0]);
assert.strictEqual(0, +res[1]);
}],
["set", "foo2", expected],
["incr", "multifoo"],
["incr", "multibar"]
]).exec(function (err, replies) {
if (helper.serverVersionAtLeast(client, [2, 6, 5])) {
assert.notEqual(err, null);
assert.equal(replies, undefined);
} else {
assert.strictEqual(2, replies[0].length);
assert.strictEqual(null, replies[0][0]);
assert.strictEqual(null, replies[0][1]);
return done(); assert.strictEqual("1", replies[1].toString());
}); assert.strictEqual("1", replies[2].toString());
}
return done();
});
}); });
it('handles multiple operations being applied to a set', function (done) { it('handles multiple operations being applied to a set', function (done) {