@@ -49,4 +49,119 @@ describe('DSRethinkDBAdapter#findAll', function () {
49
49
assert . isFalse ( ! ! destroyedUser ) ;
50
50
} ) ;
51
51
} ) ;
52
+ it ( 'should filter users using the "notContains" operator' , function ( ) {
53
+ var id ;
54
+
55
+ return adapter . findAll ( User , {
56
+ where : {
57
+ roles : {
58
+ 'notContains' : 'user'
59
+ }
60
+ }
61
+ } ) . then ( function ( users ) {
62
+ assert . equal ( users . length , 0 ) ;
63
+ return adapter . create ( User , { name : 'John' , roles : [ 'admin' ] } ) ;
64
+ } ) . then ( function ( user ) {
65
+ id = user . id ;
66
+ return adapter . findAll ( User , {
67
+ where : {
68
+ roles : {
69
+ 'notContains' : 'user'
70
+ }
71
+ }
72
+ } ) ;
73
+ } ) . then ( function ( users ) {
74
+ assert . equal ( users . length , 1 ) ;
75
+ assert . deepEqual ( users [ 0 ] , { id : id , name : 'John' , roles : [ 'admin' ] } ) ;
76
+ return adapter . destroy ( User , id ) ;
77
+ } ) . then ( function ( destroyedUser ) {
78
+ assert . isFalse ( ! ! destroyedUser ) ;
79
+ } ) ;
80
+ } ) ; it ( 'should filter users using the "contains" operator' , function ( ) {
81
+ var id ;
82
+
83
+ return adapter . findAll ( User , {
84
+ where : {
85
+ roles : {
86
+ 'contains' : 'admin'
87
+ }
88
+ }
89
+ } ) . then ( function ( users ) {
90
+ assert . equal ( users . length , 0 ) ;
91
+ return adapter . create ( User , { name : 'John' , roles : [ 'admin' ] } ) ;
92
+ } ) . then ( function ( user ) {
93
+ id = user . id ;
94
+ return adapter . findAll ( User , {
95
+ where : {
96
+ roles : {
97
+ 'contains' : 'admin'
98
+ }
99
+ }
100
+ } ) ;
101
+ } ) . then ( function ( users ) {
102
+ assert . equal ( users . length , 1 ) ;
103
+ assert . deepEqual ( users [ 0 ] , { id : id , name : 'John' , roles : [ 'admin' ] } ) ;
104
+ return adapter . destroy ( User , id ) ;
105
+ } ) . then ( function ( destroyedUser ) {
106
+ assert . isFalse ( ! ! destroyedUser ) ;
107
+ } ) ;
108
+ } ) ;
109
+ it ( 'should filter users using the "like" operator' , function ( ) {
110
+ var id ;
111
+
112
+ return adapter . findAll ( User , {
113
+ where : {
114
+ name : {
115
+ 'like' : 'J'
116
+ }
117
+ }
118
+ } ) . then ( function ( users ) {
119
+ assert . equal ( users . length , 0 ) ;
120
+ return adapter . create ( User , { name : 'John' } ) ;
121
+ } ) . then ( function ( user ) {
122
+ id = user . id ;
123
+ return adapter . findAll ( User , {
124
+ where : {
125
+ name : {
126
+ 'like' : 'J'
127
+ }
128
+ }
129
+ } ) ;
130
+ } ) . then ( function ( users ) {
131
+ assert . equal ( users . length , 1 ) ;
132
+ assert . deepEqual ( users [ 0 ] , { id : id , name : 'John' } ) ;
133
+ return adapter . destroy ( User , id ) ;
134
+ } ) . then ( function ( destroyedUser ) {
135
+ assert . isFalse ( ! ! destroyedUser ) ;
136
+ } ) ;
137
+ } ) ;
138
+ it ( 'should filter users using the "notLike" operator' , function ( ) {
139
+ var id ;
140
+
141
+ return adapter . findAll ( User , {
142
+ where : {
143
+ name : {
144
+ 'notLike' : 'x'
145
+ }
146
+ }
147
+ } ) . then ( function ( users ) {
148
+ assert . equal ( users . length , 0 ) ;
149
+ return adapter . create ( User , { name : 'John' } ) ;
150
+ } ) . then ( function ( user ) {
151
+ id = user . id ;
152
+ return adapter . findAll ( User , {
153
+ where : {
154
+ name : {
155
+ 'notLike' : 'x'
156
+ }
157
+ }
158
+ } ) ;
159
+ } ) . then ( function ( users ) {
160
+ assert . equal ( users . length , 1 ) ;
161
+ assert . deepEqual ( users [ 0 ] , { id : id , name : 'John' } ) ;
162
+ return adapter . destroy ( User , id ) ;
163
+ } ) . then ( function ( destroyedUser ) {
164
+ assert . isFalse ( ! ! destroyedUser ) ;
165
+ } ) ;
166
+ } ) ;
52
167
} ) ;
0 commit comments