Skip to content

Commit 0bda0fb

Browse files
committed
Tests Added
1 parent 331e2a2 commit 0bda0fb

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

readthedocs/rtd_tests/tests/test_project_querysets.py

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,12 @@ class ProjectQuerySetTests(TestCase):
1818

1919
def setUp(self):
2020
self.user = get(User)
21+
self.user.profile.banned = False
22+
self.user.profile.save()
23+
2124
self.another_user = get(User)
25+
self.another_user.profile.banned = False
26+
self.another_user.profile.save()
2227

2328
self.project = get(
2429
Project,
@@ -145,6 +150,19 @@ def test_private(self):
145150
self.assertEqual(query.count(), len(projects))
146151
self.assertEqual(set(query), projects)
147152

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+
148166
def test_private_user(self):
149167
query = Project.objects.private(user=self.user)
150168
projects = (
@@ -162,6 +180,25 @@ def test_private_user(self):
162180
self.assertEqual(query.count(), len(projects))
163181
self.assertEqual(set(query), projects)
164182

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+
165202
def test_public(self):
166203
query = Project.objects.public()
167204
projects = {
@@ -172,6 +209,18 @@ def test_public(self):
172209
self.assertEqual(query.count(), len(projects))
173210
self.assertEqual(set(query), projects)
174211

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+
175224
def test_public_user(self):
176225
query = Project.objects.public(user=self.user)
177226
projects = (
@@ -189,6 +238,25 @@ def test_public_user(self):
189238
self.assertEqual(query.count(), len(projects))
190239
self.assertEqual(set(query), projects)
191240

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+
192260

193261
def test_protected(self):
194262
query = Project.objects.protected()
@@ -203,6 +271,20 @@ def test_protected(self):
203271
self.assertEqual(query.count(), len(projects))
204272
self.assertEqual(set(query), projects)
205273

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+
206288
def test_protected_user(self):
207289
query = Project.objects.protected(user=self.user)
208290
projects = (
@@ -220,6 +302,25 @@ def test_protected_user(self):
220302
self.assertEqual(query.count(), len(projects))
221303
self.assertEqual(set(query), projects)
222304

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+
223324

224325
class FeatureQuerySetTests(TestCase):
225326

0 commit comments

Comments
 (0)