1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

#9623: Add slug field to SavedFilter

This commit is contained in:
jeremystretch
2022-11-15 10:44:12 -05:00
parent ecf5304a14
commit 355678274d
22 changed files with 121 additions and 82 deletions

View File

@@ -192,11 +192,12 @@ class CustomLinkTest(APIViewTestCases.APIViewTestCase):
class SavedFilterTest(APIViewTestCases.APIViewTestCase):
model = SavedFilter
brief_fields = ['display', 'id', 'name', 'url']
brief_fields = ['display', 'id', 'name', 'slug', 'url']
create_data = [
{
'content_types': ['dcim.site'],
'name': 'Saved Filter 4',
'slug': 'saved-filter-4',
'weight': 100,
'enabled': True,
'shared': True,
@@ -205,6 +206,7 @@ class SavedFilterTest(APIViewTestCases.APIViewTestCase):
{
'content_types': ['dcim.site'],
'name': 'Saved Filter 5',
'slug': 'saved-filter-5',
'weight': 200,
'enabled': True,
'shared': True,
@@ -213,6 +215,7 @@ class SavedFilterTest(APIViewTestCases.APIViewTestCase):
{
'content_types': ['dcim.site'],
'name': 'Saved Filter 6',
'slug': 'saved-filter-6',
'weight': 300,
'enabled': True,
'shared': True,
@@ -232,6 +235,7 @@ class SavedFilterTest(APIViewTestCases.APIViewTestCase):
saved_filters = (
SavedFilter(
name='Saved Filter 1',
slug='saved-filter-1',
weight=100,
enabled=True,
shared=True,
@@ -239,6 +243,7 @@ class SavedFilterTest(APIViewTestCases.APIViewTestCase):
),
SavedFilter(
name='Saved Filter 2',
slug='saved-filter-2',
weight=200,
enabled=True,
shared=True,
@@ -246,6 +251,7 @@ class SavedFilterTest(APIViewTestCases.APIViewTestCase):
),
SavedFilter(
name='Saved Filter 3',
slug='saved-filter-3',
weight=300,
enabled=True,
shared=True,

View File

@@ -240,6 +240,7 @@ class SavedFilterTestCase(TestCase, BaseFilterSetTests):
saved_filters = (
SavedFilter(
name='Saved Filter 1',
slug='saved-filter-1',
user=users[0],
weight=100,
enabled=True,
@@ -248,6 +249,7 @@ class SavedFilterTestCase(TestCase, BaseFilterSetTests):
),
SavedFilter(
name='Saved Filter 2',
slug='saved-filter-2',
user=users[1],
weight=200,
enabled=True,
@@ -256,6 +258,7 @@ class SavedFilterTestCase(TestCase, BaseFilterSetTests):
),
SavedFilter(
name='Saved Filter 3',
slug='saved-filter-3',
user=users[2],
weight=300,
enabled=False,
@@ -271,6 +274,10 @@ class SavedFilterTestCase(TestCase, BaseFilterSetTests):
params = {'name': ['Saved Filter 1', 'Saved Filter 2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_slug(self):
params = {'slug': ['saved-filter-1', 'saved-filter-2']}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 2)
def test_content_types(self):
params = {'content_types': 'dcim.site'}
self.assertEqual(self.filterset(params, self.queryset).qs.count(), 1)

View File

@@ -122,9 +122,27 @@ class SavedFilterTestCase(ViewTestCases.PrimaryObjectViewTestCase):
User.objects.bulk_create(users)
saved_filters = (
SavedFilter(name='Saved Filter 1', user=users[0], weight=100, parameters={'status': ['active']}),
SavedFilter(name='Saved Filter 2', user=users[1], weight=200, parameters={'status': ['planned']}),
SavedFilter(name='Saved Filter 3', user=users[2], weight=300, parameters={'status': ['retired']}),
SavedFilter(
name='Saved Filter 1',
slug='saved-filter-1',
user=users[0],
weight=100,
parameters={'status': ['active']}
),
SavedFilter(
name='Saved Filter 2',
slug='saved-filter-2',
user=users[1],
weight=200,
parameters={'status': ['planned']}
),
SavedFilter(
name='Saved Filter 3',
slug='saved-filter-3',
user=users[2],
weight=300,
parameters={'status': ['retired']}
),
)
SavedFilter.objects.bulk_create(saved_filters)
for i, savedfilter in enumerate(saved_filters):
@@ -132,6 +150,7 @@ class SavedFilterTestCase(ViewTestCases.PrimaryObjectViewTestCase):
cls.form_data = {
'name': 'Saved Filter X',
'slug': 'saved-filter-x',
'content_types': [site_ct.pk],
'description': 'Foo',
'weight': 1000,
@@ -141,10 +160,10 @@ class SavedFilterTestCase(ViewTestCases.PrimaryObjectViewTestCase):
}
cls.csv_data = (
'name,content_types,weight,enabled,shared,parameters',
'Saved Filter 4,dcim.device,400,True,True,{"foo": "a"}',
'Saved Filter 5,dcim.device,500,True,True,{"foo": "b"}',
'Saved Filter 6,dcim.device,600,True,True,{"foo": "c"}',
'name,slug,content_types,weight,enabled,shared,parameters',
'Saved Filter 4,saved-filter-4,dcim.device,400,True,True,{"foo": "a"}',
'Saved Filter 5,saved-filter-5,dcim.device,500,True,True,{"foo": "b"}',
'Saved Filter 6,saved-filter-6,dcim.device,600,True,True,{"foo": "c"}',
)
cls.csv_update_data = (