mirror of
https://github.com/meteor/meteor.git
synced 2026-05-02 03:01:46 -04:00
Fix args to LocalCollection callback.
Added tests for local collections with no connections, which is where this problem was manifesting itself.
This commit is contained in:
@@ -451,7 +451,7 @@ LocalCollection.prototype.insert = function (doc, callback) {
|
||||
LocalCollection._recomputeResults(self.queries[qid]);
|
||||
});
|
||||
self._observeQueue.drain();
|
||||
if (callback) Meteor.defer(function () { callback(doc._id); });
|
||||
if (callback) Meteor.defer(function () { callback(null, doc._id); });
|
||||
return doc._id;
|
||||
};
|
||||
|
||||
|
||||
@@ -1067,16 +1067,35 @@ if (Meteor.isServer) {
|
||||
]);
|
||||
}
|
||||
|
||||
if (Meteor.isClient) {
|
||||
Tinytest.addAsync("mongo-livedata - local collections with different connections", function (test, onComplete) {
|
||||
var cname = Random.id();
|
||||
var coll1 = new Meteor.Collection(cname);
|
||||
var doc = { foo: "bar" };
|
||||
var coll2 = new Meteor.Collection("foo", { connection: null });
|
||||
coll2.insert(doc, function (err, id) {
|
||||
test.equal(coll1.find(doc).count(), 0);
|
||||
test.equal(coll2.find(doc).count(), 1);
|
||||
onComplete();
|
||||
});
|
||||
Tinytest.addAsync("mongo-livedata - local collections with different connections", function (test, onComplete) {
|
||||
var cname = Random.id();
|
||||
var cname2 = Random.id();
|
||||
var coll1 = new Meteor.Collection(cname);
|
||||
var doc = { foo: "bar" };
|
||||
var coll2 = new Meteor.Collection(cname2, { connection: null });
|
||||
coll2.insert(doc, function (err, id) {
|
||||
test.equal(coll1.find(doc).count(), 0);
|
||||
test.equal(coll2.find(doc).count(), 1);
|
||||
onComplete();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Tinytest.addAsync("mongo-livedata - local collection with null connection, w/ callback", function (test, onComplete) {
|
||||
var cname = Random.id();
|
||||
var coll1 = new Meteor.Collection(cname, { connection: null });
|
||||
var doc = { foo: "bar" };
|
||||
var docId = coll1.insert(doc, function (err, id) {
|
||||
test.equal(docId, id);
|
||||
test.equal(coll1.findOne(doc)._id, id);
|
||||
onComplete();
|
||||
});
|
||||
});
|
||||
|
||||
Tinytest.addAsync("mongo-livedata - local collection with null connection, w/o callback", function (test, onComplete) {
|
||||
var cname = Random.id();
|
||||
var coll1 = new Meteor.Collection(cname, { connection: null });
|
||||
var doc = { foo: "bar" };
|
||||
var docId = coll1.insert(doc);
|
||||
test.equal(coll1.findOne(doc)._id, docId);
|
||||
onComplete();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user