mirror of
https://github.com/netbox-community/netbox.git
synced 2026-03-17 23:14:19 +01:00
Mark the `token` TemplateColumn as non-orderable since it maps to a Python property rather than a database field, causing a FieldError when django-tables2 attempts to sort by it. Add a regression test for TokenTable following the existing pattern in circuits and vpn test suites.
25 lines
833 B
Python
25 lines
833 B
Python
from django.test import RequestFactory, tag, TestCase
|
|
|
|
from users.models import Token
|
|
from users.tables import TokenTable
|
|
|
|
|
|
class TokenTableTest(TestCase):
|
|
@tag('regression')
|
|
def test_every_orderable_field_does_not_throw_exception(self):
|
|
tokens = Token.objects.all()
|
|
disallowed = {'actions'}
|
|
|
|
orderable_columns = [
|
|
column.name for column in TokenTable(tokens).columns
|
|
if column.orderable and column.name not in disallowed
|
|
]
|
|
fake_request = RequestFactory().get("/")
|
|
|
|
for col in orderable_columns:
|
|
for direction in ('-', ''):
|
|
with self.subTest(col=col, direction=direction):
|
|
table = TokenTable(tokens)
|
|
table.order_by = f'{direction}{col}'
|
|
table.as_html(fake_request)
|