|
5 | 5 |
|
6 | 6 | from core.models import ObjectType |
7 | 7 | from users import filtersets |
8 | | -from users.models import Group, ObjectPermission, Token, User |
| 8 | +from users.models import Group, ObjectPermission, Owner, OwnerGroup, Token, User |
9 | 9 | from utilities.testing import BaseFilterSetTests |
10 | 10 |
|
11 | 11 |
|
@@ -348,3 +348,106 @@ def test_write_enabled(self): |
348 | 348 | def test_description(self): |
349 | 349 | params = {'description': ['foobar1', 'foobar2']} |
350 | 350 | self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 351 | + |
| 352 | + |
| 353 | +class OwnerGroupTestCase(TestCase, BaseFilterSetTests): |
| 354 | + queryset = OwnerGroup.objects.all() |
| 355 | + filterset = filtersets.OwnerGroupFilterSet |
| 356 | + |
| 357 | + @classmethod |
| 358 | + def setUpTestData(cls): |
| 359 | + |
| 360 | + owner_groups = ( |
| 361 | + OwnerGroup(name='Owner Group 1', description='Foo'), |
| 362 | + OwnerGroup(name='Owner Group 2', description='Bar'), |
| 363 | + OwnerGroup(name='Owner Group 3', description='Baz'), |
| 364 | + ) |
| 365 | + OwnerGroup.objects.bulk_create(owner_groups) |
| 366 | + |
| 367 | + def test_q(self): |
| 368 | + params = {'q': 'foo'} |
| 369 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) |
| 370 | + |
| 371 | + def test_name(self): |
| 372 | + params = {'name': ['Owner Group 1', 'Owner Group 2']} |
| 373 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 374 | + |
| 375 | + def test_description(self): |
| 376 | + params = {'description': ['Foo', 'Bar']} |
| 377 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 378 | + |
| 379 | + |
| 380 | +class OwnerTestCase(TestCase, BaseFilterSetTests): |
| 381 | + queryset = Owner.objects.all() |
| 382 | + filterset = filtersets.OwnerFilterSet |
| 383 | + |
| 384 | + @classmethod |
| 385 | + def setUpTestData(cls): |
| 386 | + owner_groups = ( |
| 387 | + OwnerGroup(name='Owner Group 1'), |
| 388 | + OwnerGroup(name='Owner Group 2'), |
| 389 | + OwnerGroup(name='Owner Group 3'), |
| 390 | + ) |
| 391 | + OwnerGroup.objects.bulk_create(owner_groups) |
| 392 | + |
| 393 | + groups = ( |
| 394 | + Group(name='Group 1'), |
| 395 | + Group(name='Group 2'), |
| 396 | + Group(name='Group 3'), |
| 397 | + ) |
| 398 | + Group.objects.bulk_create(groups) |
| 399 | + |
| 400 | + users = ( |
| 401 | + User(username='User 1'), |
| 402 | + User(username='User 2'), |
| 403 | + User(username='User 3'), |
| 404 | + ) |
| 405 | + User.objects.bulk_create(users) |
| 406 | + |
| 407 | + owners = ( |
| 408 | + Owner(name='Owner 1', group=owner_groups[0], description='Foo'), |
| 409 | + Owner(name='Owner 2', group=owner_groups[1], description='Bar'), |
| 410 | + Owner(name='Owner 3', group=owner_groups[2], description='Baz'), |
| 411 | + ) |
| 412 | + Owner.objects.bulk_create(owners) |
| 413 | + |
| 414 | + # Assign users and groups to owners |
| 415 | + owners[0].user_groups.add(groups[0]) |
| 416 | + owners[1].user_groups.add(groups[1]) |
| 417 | + owners[2].user_groups.add(groups[2]) |
| 418 | + owners[0].users.add(users[0]) |
| 419 | + owners[1].users.add(users[1]) |
| 420 | + owners[2].users.add(users[2]) |
| 421 | + |
| 422 | + def test_q(self): |
| 423 | + params = {'q': 'foo'} |
| 424 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1) |
| 425 | + |
| 426 | + def test_name(self): |
| 427 | + params = {'name': ['Owner 1', 'Owner 2']} |
| 428 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 429 | + |
| 430 | + def test_description(self): |
| 431 | + params = {'description': ['Foo', 'Bar']} |
| 432 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 433 | + |
| 434 | + def test_group(self): |
| 435 | + owner_groups = OwnerGroup.objects.order_by('id')[:2] |
| 436 | + params = {'group_id': [owner_groups[0].pk, owner_groups[1].pk]} |
| 437 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 438 | + params = {'group': [owner_groups[0].name, owner_groups[1].name]} |
| 439 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 440 | + |
| 441 | + def test_user_group(self): |
| 442 | + group = Group.objects.order_by('id')[:2] |
| 443 | + params = {'user_group_id': [group[0].pk, group[1].pk]} |
| 444 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 445 | + params = {'user_group': [group[0].name, group[1].name]} |
| 446 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 447 | + |
| 448 | + def test_user(self): |
| 449 | + users = User.objects.order_by('id')[:2] |
| 450 | + params = {'user_id': [users[0].pk, users[1].pk]} |
| 451 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
| 452 | + params = {'user': [users[0].username, users[1].username]} |
| 453 | + self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2) |
0 commit comments