From 4819a878d9f4ed8f07e4a3cd5ae83fa82e9f2e9a Mon Sep 17 00:00:00 2001 From: Julius Lisauskas Date: Thu, 30 Mar 2017 21:02:11 +0300 Subject: [PATCH 1/2] Added failing test --- spec/ParseQuery.spec.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/spec/ParseQuery.spec.js b/spec/ParseQuery.spec.js index 1cbe41dbec..9492bb2a1d 100644 --- a/spec/ParseQuery.spec.js +++ b/spec/ParseQuery.spec.js @@ -1891,6 +1891,41 @@ describe('Parse.Query testing', () => { }); }); + it("dontSelect and equalTo (#3678)", function(done) { + var AuthorObject = Parse.Object.extend("Author"); + var BlockedObject = Parse.Object.extend("Blocked"); + var PostObject = Parse.Object.extend("Post"); + + var postAuthor = null; + var requestUser = null; + + return new AuthorObject({ name: "Julius"}).save().then((user) => { + postAuthor = user; + return new AuthorObject({ name: "Bob"}).save(); + }).then((user) => { + requestUser = user; + var objects = [ + new PostObject({ author: postAuthor, title: "Lorem ipsum" }), + new PostObject({ author: requestUser, title: "Kafka" }), + new PostObject({ author: requestUser, title: "Brown fox" }), + new BlockedObject({ blockedBy: postAuthor, blockedUser: requestUser}) + ]; + return Parse.Object.saveAll(objects); + }).then(() => { + var banListQuery = new Parse.Query(BlockedObject); + banListQuery.equalTo("blockedUser", requestUser); + + return new Parse.Query(PostObject) + .equalTo("author", postAuthor) + .doesNotMatchKeyInQuery("author", "blockedBy", banListQuery) + .find() + .then((r) => { + expect(r.length).toEqual(0); + done(); + }, done.fail); + }) + }); + it("object with length", function(done) { var TestObject = Parse.Object.extend("TestObject"); var obj = new TestObject(); From d9f173d910e877a885b5b63c662b0c0769ac3a80 Mon Sep 17 00:00:00 2001 From: Julius Lisauskas Date: Wed, 5 Apr 2017 11:36:56 +0300 Subject: [PATCH 2/2] Updated test description --- spec/ParseQuery.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/ParseQuery.spec.js b/spec/ParseQuery.spec.js index 9492bb2a1d..3cfe5ae5c3 100644 --- a/spec/ParseQuery.spec.js +++ b/spec/ParseQuery.spec.js @@ -1891,7 +1891,7 @@ describe('Parse.Query testing', () => { }); }); - it("dontSelect and equalTo (#3678)", function(done) { + it("equalTo on same column as $dontSelect should not break $dontSelect functionality (#3678)", function(done) { var AuthorObject = Parse.Object.extend("Author"); var BlockedObject = Parse.Object.extend("Blocked"); var PostObject = Parse.Object.extend("Post");