mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-17 04:32:51 -06:00
Add tests for tenancy filters
This commit is contained in:
parent
f267a532f6
commit
39d0261d8a
72
netbox/tenancy/tests/test_filters.py
Normal file
72
netbox/tenancy/tests/test_filters.py
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
from tenancy.filters import TenantFilter, TenantGroupFilter
|
||||||
|
from tenancy.models import Tenant, TenantGroup
|
||||||
|
|
||||||
|
|
||||||
|
class TenantGroupTestCase(TestCase):
|
||||||
|
queryset = TenantGroup.objects.all()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def setUpTestData(cls):
|
||||||
|
|
||||||
|
groups = (
|
||||||
|
TenantGroup(name='Tenant Group 1', slug='tenant-group-1'),
|
||||||
|
TenantGroup(name='Tenant Group 2', slug='tenant-group-2'),
|
||||||
|
TenantGroup(name='Tenant Group 3', slug='tenant-group-3'),
|
||||||
|
)
|
||||||
|
TenantGroup.objects.bulk_create(groups)
|
||||||
|
|
||||||
|
def test_id(self):
|
||||||
|
id_list = self.queryset.values_list('id', flat=True)[:2]
|
||||||
|
params = {'id': [str(id) for id in id_list]}
|
||||||
|
self.assertEqual(TenantGroupFilter(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_name(self):
|
||||||
|
params = {'name': ['Tenant Group 1', 'Tenant Group 2']}
|
||||||
|
self.assertEqual(TenantGroupFilter(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_slug(self):
|
||||||
|
params = {'slug': ['tenant-group-1', 'tenant-group-2']}
|
||||||
|
self.assertEqual(TenantGroupFilter(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
|
||||||
|
class TenantTestCase(TestCase):
|
||||||
|
queryset = Tenant.objects.all()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def setUpTestData(cls):
|
||||||
|
|
||||||
|
groups = (
|
||||||
|
TenantGroup(name='Tenant Group 1', slug='tenant-group-1'),
|
||||||
|
TenantGroup(name='Tenant Group 2', slug='tenant-group-2'),
|
||||||
|
TenantGroup(name='Tenant Group 3', slug='tenant-group-3'),
|
||||||
|
)
|
||||||
|
TenantGroup.objects.bulk_create(groups)
|
||||||
|
|
||||||
|
tenants = (
|
||||||
|
Tenant(name='Tenant 1', slug='tenant-1', group=groups[0]),
|
||||||
|
Tenant(name='Tenant 2', slug='tenant-2', group=groups[1]),
|
||||||
|
Tenant(name='Tenant 3', slug='tenant-3', group=groups[2]),
|
||||||
|
)
|
||||||
|
Tenant.objects.bulk_create(tenants)
|
||||||
|
|
||||||
|
def test_name(self):
|
||||||
|
params = {'name': ['Tenant 1', 'Tenant 2']}
|
||||||
|
self.assertEqual(TenantFilter(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_slug(self):
|
||||||
|
params = {'slug': ['tenant-1', 'tenant-2']}
|
||||||
|
self.assertEqual(TenantFilter(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_id__in(self):
|
||||||
|
id_list = self.queryset.values_list('id', flat=True)[:2]
|
||||||
|
params = {'id__in': ','.join([str(id) for id in id_list])}
|
||||||
|
self.assertEqual(TenantFilter(params, self.queryset).qs.count(), 2)
|
||||||
|
|
||||||
|
def test_group(self):
|
||||||
|
group = TenantGroup.objects.all()[:2]
|
||||||
|
params = {'group_id': [group[0].pk, group[1].pk]}
|
||||||
|
self.assertEqual(TenantFilter(params, self.queryset).qs.count(), 2)
|
||||||
|
params = {'group': [group[0].slug, group[1].slug]}
|
||||||
|
self.assertEqual(TenantFilter(params, self.queryset).qs.count(), 2)
|
Loading…
Reference in New Issue
Block a user