From 456d06bde333c11ba9852ec8a333de95f267e79f Mon Sep 17 00:00:00 2001 From: David Glasser Date: Thu, 5 Mar 2015 18:13:07 -0800 Subject: [PATCH] Failing test for #3571 This fails on both server and client. This is also related to #2254. --- packages/mongo/observe_changes_tests.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/mongo/observe_changes_tests.js b/packages/mongo/observe_changes_tests.js index c863596b3d..79298cefcb 100644 --- a/packages/mongo/observe_changes_tests.js +++ b/packages/mongo/observe_changes_tests.js @@ -234,6 +234,29 @@ Tinytest.addAsync("observeChanges - unordered - specific fields + modify on excl }); }); +Tinytest.addAsync( + "observeChanges - unordered - unset parent of observed field", + function (test, onComplete) { + var c = makeCollection(); + withCallbackLogger( + test, ['added', 'changed', 'removed'], Meteor.isServer, + function (logger) { + var handle = c.find({}, {fields: {'type.name': 1}}).observeChanges(logger); + var id = c.insert({ type: { name: 'foobar' } }); + logger.expectResultOnly('added', [id, { type: { name: 'foobar' } }]); + + c.update(id, { $unset: { type: 1 } }); + test.equal(c.find().fetch(), [{ _id: id }]); + logger.expectResultOnly('changed', [id, { type: undefined }]); + + handle.stop(); + onComplete(); + } + ); + } +); + + Tinytest.addAsync("observeChanges - unordered - enters and exits result set through change", function (test, onComplete) { var c = makeCollection();