@@ -23,6 +23,90 @@ describe('Parse.Query testing', () => {
23
23
} ) ;
24
24
} ) ;
25
25
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
+
26
110
it ( "query with limit" , function ( done ) {
27
111
var baz = new TestObject ( { foo : 'baz' } ) ;
28
112
var qux = new TestObject ( { foo : 'qux' } ) ;
0 commit comments