Comparing version 0.4.4 to 0.4.5
@@ -282,3 +282,3 @@ var WebSocket = require('faye-websocket'), | ||
if (conf) { | ||
callback(null); | ||
callback(null, result); | ||
} else { | ||
@@ -285,0 +285,0 @@ callback({error:"The HAMK doesn't match. Possible MITM attack"}); |
{ | ||
"name": "ddp", | ||
"version": "0.4.4", | ||
"version": "0.4.5", | ||
"description": "Node.js module to connect to servers using DDP protocol.", | ||
@@ -5,0 +5,0 @@ "author": "Tom Coleman <tom@thesnail.org> (http://tom.thesnail.org)", |
@@ -11,2 +11,3 @@ var assert = require('assert'), | ||
function prepareMocks() { | ||
@@ -20,2 +21,3 @@ wsMock = new events.EventEmitter(); | ||
describe("Connect to remote server", function() { | ||
@@ -48,2 +50,3 @@ beforeEach(function() { | ||
describe('Automatic reconnection', function() { | ||
@@ -54,3 +57,2 @@ beforeEach(function() { | ||
/* We should be able to get this test to work with clock.tick() but for some weird | ||
@@ -94,4 +96,4 @@ reasons it does not work. See: https://github.com/cjohansen/Sinon.JS/issues/283 | ||
describe('EJSON', function() { | ||
var DDPMessage = '{"msg":"added","collection":"posts","id":"2trpvcQ4pn32ZYXco","fields":{"date":{"$date":1371591394454},"bindata":{"$binary":"QUJDRA=="}}}'; | ||
@@ -168,8 +170,12 @@ var EJSONObject = EJSON.parse(DDPMessage); | ||
describe('maintain_collections', function() { | ||
var DDPMessage = '{"msg":"added","collection":"posts","id":"2trpvcQ4pn32ZYXco","fields":{"text":"A cat was here"}}'; | ||
describe('Collection maintenance', function() { | ||
var addedMessage = '{"msg":"added","collection":"posts","id":"2trpvcQ4pn32ZYXco","fields":{"text":"A cat was here","value":true}}'; | ||
var changedMessage = '{"msg":"changed","collection":"posts","id":"2trpvcQ4pn32ZYXco","fields":{"text":"A dog was here"}}'; | ||
var changedMessage2 = '{"msg":"changed","collection":"posts","id":"2trpvcQ4pn32ZYXco","cleared":["value"]}'; | ||
var removedMessage = '{"msg":"removed","collection":"posts","id":"2trpvcQ4pn32ZYXco"}'; | ||
it('should maintain collections by default', function() { | ||
var ddpclient = new DDPClient(); | ||
ddpclient._message(DDPMessage); | ||
ddpclient._message(addedMessage); | ||
// ensure collections exist and are populated by add messages | ||
@@ -181,3 +187,3 @@ assert.equal(ddpclient.collections.posts['2trpvcQ4pn32ZYXco'].text, "A cat was here"); | ||
var ddpclient = new DDPClient({ maintain_collections : true }); | ||
ddpclient._message(DDPMessage); | ||
ddpclient._message(addedMessage); | ||
// ensure collections exist and are populated by add messages | ||
@@ -187,12 +193,39 @@ assert.equal(ddpclient.collections.posts['2trpvcQ4pn32ZYXco'].text, "A cat was here"); | ||
it('should not maintain collections if maintain_collections is false', | ||
function() { | ||
var ddpclient = new DDPClient({ maintain_collections : false }); | ||
ddpclient._message(DDPMessage); | ||
// ensure there are no collections | ||
assert(!ddpclient.collections); | ||
it('should not maintain collections if maintain_collections is false', function() { | ||
var ddpclient = new DDPClient({ maintain_collections : false }); | ||
ddpclient._message(addedMessage); | ||
// ensure there are no collections | ||
assert(!ddpclient.collections); | ||
}); | ||
} | ||
); | ||
it('should response to "added" messages', function() { | ||
var ddpclient = new DDPClient(); | ||
ddpclient._message(addedMessage); | ||
assert.equal(ddpclient.collections.posts['2trpvcQ4pn32ZYXco'].text, "A cat was here"); | ||
assert.equal(ddpclient.collections.posts['2trpvcQ4pn32ZYXco'].value, true); | ||
}); | ||
it('should response to "changed" messages', function() { | ||
var ddpclient = new DDPClient(); | ||
ddpclient._message(addedMessage); | ||
ddpclient._message(changedMessage); | ||
assert.equal(ddpclient.collections.posts['2trpvcQ4pn32ZYXco'].text, "A dog was here"); | ||
assert.equal(ddpclient.collections.posts['2trpvcQ4pn32ZYXco'].value, true); | ||
}); | ||
it('should response to "changed" messages with "cleared"', function() { | ||
var ddpclient = new DDPClient(); | ||
ddpclient._message(addedMessage); | ||
ddpclient._message(changedMessage); | ||
ddpclient._message(changedMessage2); | ||
assert.equal(ddpclient.collections.posts['2trpvcQ4pn32ZYXco'].text, "A dog was here"); | ||
assert(!ddpclient.collections.posts['2trpvcQ4pn32ZYXco'].hasOwnProperty('value')); | ||
}); | ||
it('should response to "removed" messages', function() { | ||
var ddpclient = new DDPClient(); | ||
ddpclient._message(addedMessage); | ||
ddpclient._message(removedMessage); | ||
assert(!ddpclient.collections.posts.hasOwnProperty('2trpvcQ4pn32ZYXco')); | ||
}); | ||
}); |
Sorry, the diff of this file is not supported yet
23025
478