Skip to content

Commit ca6269f

Browse files
System Administratorflovilmart
System Administrator
authored andcommitted
⚡ regression tests for #1349
1 parent f99b558 commit ca6269f

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed

spec/ParseQuery.spec.js

+84
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,90 @@ describe('Parse.Query testing', () => {
2323
});
2424
});
2525

26+
it("notEqualTo with Relation is working", function(done) {
27+
var user = new Parse.User();
28+
user.setPassword("asdf");
29+
user.setUsername("zxcv");
30+
31+
var user1 = new Parse.User();
32+
user1.setPassword("asdf");
33+
user1.setUsername("qwerty");
34+
35+
var user2 = new Parse.User();
36+
user2.setPassword("asdf");
37+
user2.setUsername("asdf");
38+
39+
var Cake = Parse.Object.extend("Cake");
40+
var cake1 = new Cake();
41+
var cake2 = new Cake();
42+
var cake3 = new Cake();
43+
44+
45+
user.signUp().then(function(){
46+
return user1.signUp();
47+
}).then(function(){
48+
return user2.signUp();
49+
}).then(function(){
50+
var relLike1 = cake1.relation("liker");
51+
relLike1.add([user, user1]);
52+
53+
var relDislike1 = cake1.relation("hater");
54+
relDislike1.add(user2);
55+
return cake1.save();
56+
}).then(function(){
57+
var rellike2 = cake2.relation("liker");
58+
rellike2.add([user, user1]);
59+
60+
var relDislike2 = cake2.relation("hater");
61+
relDislike2.add(user2);
62+
63+
return cake2.save();
64+
}).then(function(){
65+
var rellike3 = cake3.relation("liker");
66+
rellike3.add(user);
67+
68+
var relDislike3 = cake3.relation("hater");
69+
relDislike3.add([user1, user2]);
70+
return cake3.save();
71+
}).then(function(){
72+
var query = new Parse.Query(Cake);
73+
// User2 likes nothing so we should receive 0
74+
query.equalTo("liker", user2);
75+
return query.find().then(function(results){
76+
equal(results.length, 0);
77+
});
78+
}).then(function(){
79+
var query = new Parse.Query(Cake);
80+
// User1 likes two of three cakes
81+
query.equalTo("liker", user1);
82+
return query.find().then(function(results){
83+
// This test fails on 2.2.4
84+
// It should return 2 -> cake 1 and cake 2
85+
equal(results.length, 2);
86+
});
87+
}).then(function(){
88+
var query = new Parse.Query(Cake);
89+
// We want to know which cake the user1 is not appreciating -> cake3
90+
query.notEqualTo("liker", user1);
91+
return query.find().then(function(results){
92+
// This test fails on 2.2.4
93+
// Should return 1 -> the cake 3
94+
equal(results.length, 1);
95+
});
96+
}).then(function(){
97+
var query = new Parse.Query(Cake);
98+
// User2 is a hater of everything so we should receive 0
99+
query.notEqualTo("hater", user2);
100+
return query.find().then(function(results){
101+
// This test fails on 2.2.4
102+
equal(results.length, 0);
103+
});
104+
}).then(function(){
105+
done();
106+
})
107+
108+
});
109+
26110
it("query with limit", function(done) {
27111
var baz = new TestObject({ foo: 'baz' });
28112
var qux = new TestObject({ foo: 'qux' });

0 commit comments

Comments
 (0)