@@ -18,7 +18,12 @@ class ProjectQuerySetTests(TestCase):
18
18
19
19
def setUp (self ):
20
20
self .user = get (User )
21
+ self .user .profile .banned = False
22
+ self .user .profile .save ()
23
+
21
24
self .another_user = get (User )
25
+ self .another_user .profile .banned = False
26
+ self .another_user .profile .save ()
22
27
23
28
self .project = get (
24
29
Project ,
@@ -145,6 +150,19 @@ def test_private(self):
145
150
self .assertEqual (query .count (), len (projects ))
146
151
self .assertEqual (set (query ), projects )
147
152
153
+ def test_private_excludes_banned_projects (self ):
154
+ self .user .profile .banned = True
155
+ self .user .profile .save ()
156
+
157
+ query = Project .objects .private ()
158
+
159
+ projects = {
160
+ self .another_project_private ,
161
+ self .shared_project_private ,
162
+ }
163
+ self .assertEqual (query .count (), len (projects ))
164
+ self .assertEqual (set (query ), projects )
165
+
148
166
def test_private_user (self ):
149
167
query = Project .objects .private (user = self .user )
150
168
projects = (
@@ -162,6 +180,25 @@ def test_private_user(self):
162
180
self .assertEqual (query .count (), len (projects ))
163
181
self .assertEqual (set (query ), projects )
164
182
183
+ def test_private_with_banned_user (self ):
184
+ self .user .profile .banned = True
185
+ self .user .profile .save ()
186
+
187
+ query = Project .objects .private (user = self .user )
188
+ projects = (
189
+ self .user_projects |
190
+ {self .another_project_private }
191
+ )
192
+ self .assertEqual (query .count (), len (projects ))
193
+ self .assertEqual (set (query ), projects )
194
+
195
+ query = Project .objects .private (user = self .another_user )
196
+ projects = (
197
+ self .another_user_projects
198
+ )
199
+ self .assertEqual (query .count (), len (projects ))
200
+ self .assertEqual (set (query ), projects )
201
+
165
202
def test_public (self ):
166
203
query = Project .objects .public ()
167
204
projects = {
@@ -172,6 +209,18 @@ def test_public(self):
172
209
self .assertEqual (query .count (), len (projects ))
173
210
self .assertEqual (set (query ), projects )
174
211
212
+ def test_public_excludes_banned_projects (self ):
213
+ self .user .profile .banned = True
214
+ self .user .profile .save ()
215
+
216
+ query = Project .objects .public ()
217
+ projects = {
218
+ self .another_project ,
219
+ self .shared_project ,
220
+ }
221
+ self .assertEqual (query .count (), len (projects ))
222
+ self .assertEqual (set (query ), projects )
223
+
175
224
def test_public_user (self ):
176
225
query = Project .objects .public (user = self .user )
177
226
projects = (
@@ -189,6 +238,25 @@ def test_public_user(self):
189
238
self .assertEqual (query .count (), len (projects ))
190
239
self .assertEqual (set (query ), projects )
191
240
241
+ def test_public_with_banned_user (self ):
242
+ self .user .profile .banned = True
243
+ self .user .profile .save ()
244
+
245
+ query = Project .objects .public (user = self .user )
246
+ projects = (
247
+ self .user_projects |
248
+ {self .another_project }
249
+ )
250
+ self .assertEqual (query .count (), len (projects ))
251
+ self .assertEqual (set (query ), projects )
252
+
253
+ query = Project .objects .public (user = self .another_user )
254
+ projects = (
255
+ self .another_user_projects
256
+ )
257
+ self .assertEqual (query .count (), len (projects ))
258
+ self .assertEqual (set (query ), projects )
259
+
192
260
193
261
def test_protected (self ):
194
262
query = Project .objects .protected ()
@@ -203,6 +271,20 @@ def test_protected(self):
203
271
self .assertEqual (query .count (), len (projects ))
204
272
self .assertEqual (set (query ), projects )
205
273
274
+ def test_protected_excludes_banned_projects (self ):
275
+ self .user .profile .banned = True
276
+ self .user .profile .save ()
277
+
278
+ query = Project .objects .protected ()
279
+ projects = {
280
+ self .another_project ,
281
+ self .another_project_protected ,
282
+ self .shared_project ,
283
+ self .shared_project_protected ,
284
+ }
285
+ self .assertEqual (query .count (), len (projects ))
286
+ self .assertEqual (set (query ), projects )
287
+
206
288
def test_protected_user (self ):
207
289
query = Project .objects .protected (user = self .user )
208
290
projects = (
@@ -220,6 +302,25 @@ def test_protected_user(self):
220
302
self .assertEqual (query .count (), len (projects ))
221
303
self .assertEqual (set (query ), projects )
222
304
305
+ def test_protected_with_banned_user (self ):
306
+ self .user .profile .banned = True
307
+ self .user .profile .save ()
308
+
309
+ query = Project .objects .protected (user = self .user )
310
+ projects = (
311
+ self .user_projects |
312
+ {self .another_project , self .another_project_protected }
313
+ )
314
+ self .assertEqual (query .count (), len (projects ))
315
+ self .assertEqual (set (query ), projects )
316
+
317
+ query = Project .objects .protected (user = self .another_user )
318
+ projects = (
319
+ self .another_user_projects
320
+ )
321
+ self .assertEqual (query .count (), len (projects ))
322
+ self .assertEqual (set (query ), projects )
323
+
223
324
224
325
class FeatureQuerySetTests (TestCase ):
225
326
0 commit comments