Enhancement: management list button improvements (#7848)

This commit is contained in:
shamoon
2024-10-03 23:00:28 -07:00
committed by GitHub
parent fc683e150a
commit 54293bedb1
11 changed files with 236 additions and 66 deletions

View File

@@ -1,6 +1,7 @@
import json
from datetime import date
from django.contrib.auth.models import Permission
from django.contrib.auth.models import User
from rest_framework import status
from rest_framework.test import APITestCase
@@ -933,3 +934,51 @@ class TestCustomFieldsAPI(DirectoriesMixin, APITestCase):
results = response.data["results"]
self.assertEqual(len(results), 1)
self.assertEqual(results[0]["name"], custom_field_int.name)
def test_custom_fields_document_count(self):
custom_field_string = CustomField.objects.create(
name="Test Custom Field String",
data_type=CustomField.FieldDataType.STRING,
)
doc = Document.objects.create(
title="WOW",
content="the content",
checksum="123",
mime_type="application/pdf",
owner=self.user,
)
response = self.client.get(
f"{self.ENDPOINT}",
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
results = response.data["results"]
self.assertEqual(results[0]["document_count"], 0)
CustomFieldInstance.objects.create(
document=doc,
field=custom_field_string,
value_text="test value",
)
response = self.client.get(
f"{self.ENDPOINT}",
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
results = response.data["results"]
self.assertEqual(results[0]["document_count"], 1)
# Test as user without access to the document
non_superuser = User.objects.create_user(username="non_superuser")
non_superuser.user_permissions.add(
*Permission.objects.all(),
)
non_superuser.save()
self.client.force_authenticate(user=non_superuser)
self.client.force_login(user=non_superuser)
response = self.client.get(
f"{self.ENDPOINT}",
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
results = response.data["results"]
self.assertEqual(results[0]["document_count"], 0)