瀏覽代碼

Add description filter for Tenant & ContactRole

Djothi Carpentier 4 年之前
父節點
當前提交
c137fa2022
共有 2 個文件被更改,包括 14 次插入6 次删除
  1. 2 2
      netbox/tenancy/filtersets.py
  2. 12 4
      netbox/tenancy/tests/test_filtersets.py

+ 2 - 2
netbox/tenancy/filtersets.py

@@ -62,7 +62,7 @@ class TenantFilterSet(PrimaryModelFilterSet):
 
 
     class Meta:
     class Meta:
         model = Tenant
         model = Tenant
-        fields = ['id', 'name', 'slug']
+        fields = ['id', 'name', 'slug', 'description']
 
 
     def search(self, queryset, name, value):
     def search(self, queryset, name, value):
         if not value.strip():
         if not value.strip():
@@ -131,7 +131,7 @@ class ContactRoleFilterSet(OrganizationalModelFilterSet):
 
 
     class Meta:
     class Meta:
         model = ContactRole
         model = ContactRole
-        fields = ['id', 'name', 'slug']
+        fields = ['id', 'name', 'slug', 'description']
 
 
 
 
 class ContactFilterSet(PrimaryModelFilterSet):
 class ContactFilterSet(PrimaryModelFilterSet):

+ 12 - 4
netbox/tenancy/tests/test_filtersets.py

@@ -64,8 +64,8 @@ class TenantTestCase(TestCase, ChangeLoggedFilterSetTests):
             tenantgroup.save()
             tenantgroup.save()
 
 
         tenants = (
         tenants = (
-            Tenant(name='Tenant 1', slug='tenant-1', group=tenant_groups[0]),
-            Tenant(name='Tenant 2', slug='tenant-2', group=tenant_groups[1]),
+            Tenant(name='Tenant 1', slug='tenant-1', group=tenant_groups[0], description='foobar1'),
+            Tenant(name='Tenant 2', slug='tenant-2', group=tenant_groups[1], description='foobar2'),
             Tenant(name='Tenant 3', slug='tenant-3', group=tenant_groups[2]),
             Tenant(name='Tenant 3', slug='tenant-3', group=tenant_groups[2]),
         )
         )
         Tenant.objects.bulk_create(tenants)
         Tenant.objects.bulk_create(tenants)
@@ -85,6 +85,10 @@ class TenantTestCase(TestCase, ChangeLoggedFilterSetTests):
         params = {'group': [group[0].slug, group[1].slug]}
         params = {'group': [group[0].slug, group[1].slug]}
         self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
 
 
+    def test_description(self):
+        params = {'description': ['foobar1', 'foobar2']}
+        self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
+
 
 
 class ContactGroupTestCase(TestCase, ChangeLoggedFilterSetTests):
 class ContactGroupTestCase(TestCase, ChangeLoggedFilterSetTests):
     queryset = ContactGroup.objects.all()
     queryset = ContactGroup.objects.all()
@@ -137,8 +141,8 @@ class ContactRoleTestCase(TestCase, ChangeLoggedFilterSetTests):
     def setUpTestData(cls):
     def setUpTestData(cls):
 
 
         contact_roles = (
         contact_roles = (
-            ContactRole(name='Contact Role 1', slug='contact-role-1'),
-            ContactRole(name='Contact Role 2', slug='contact-role-2'),
+            ContactRole(name='Contact Role 1', slug='contact-role-1', description='foobar1'),
+            ContactRole(name='Contact Role 2', slug='contact-role-2', description='foobar2'),
             ContactRole(name='Contact Role 3', slug='contact-role-3'),
             ContactRole(name='Contact Role 3', slug='contact-role-3'),
         )
         )
         ContactRole.objects.bulk_create(contact_roles)
         ContactRole.objects.bulk_create(contact_roles)
@@ -151,6 +155,10 @@ class ContactRoleTestCase(TestCase, ChangeLoggedFilterSetTests):
         params = {'slug': ['contact-role-1', 'contact-role-2']}
         params = {'slug': ['contact-role-1', 'contact-role-2']}
         self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
         self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
 
 
+    def test_description(self):
+        params = {'description': ['foobar1', 'foobar2']}
+        self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
+
 
 
 class ContactTestCase(TestCase, ChangeLoggedFilterSetTests):
 class ContactTestCase(TestCase, ChangeLoggedFilterSetTests):
     queryset = Contact.objects.all()
     queryset = Contact.objects.all()