* adds tests (WIP)
This commit is contained in:
mpeltriaux 2021-12-14 16:04:35 +01:00
parent 8b17ab6fdc
commit 6b90764132
2 changed files with 37 additions and 1 deletions

View File

@ -70,7 +70,7 @@ class ShareUserAutocomplete(Select2QuerySetView):
def get_queryset(self):
if self.request.user.is_anonymous:
return User.objects.none()
exclude_user_ids = self.forwarded.get("users", [None])
exclude_user_ids = self.forwarded.get("users", [])
_exclude = {"id__in": exclude_user_ids}
qs = User.objects.all().exclude(
**_exclude
@ -78,6 +78,7 @@ class ShareUserAutocomplete(Select2QuerySetView):
"username"
)
if self.q:
# Due to privacy concerns only a full username match will return the proper user entry
qs = qs.filter(
username=self.q
)

View File

@ -0,0 +1,35 @@
"""
Author: Michel Peltriaux
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 14.12.21
"""
import json
from django.urls import reverse
from konova.tests.test_views import BaseTestCase
from django.test.client import Client
class AutocompleteTestCase(BaseTestCase):
@classmethod
def setUpTestData(cls):
super().setUpTestData()
cls.client = Client()
def test_user_autocomplete(self):
self.client.login(username=self.superuser.username, password=self.superuser_pw)
user_autocomplete_url = reverse("share-user-autocomplete")
username = self.user.username
data = {
"q": username
}
response = self.client.get(
user_autocomplete_url,
data,
)
content = json.loads(response.content)
self.assertEqual(username, content["results"][0]["text"])
self.assertEqual(str(self.user.id), content["results"][0]["id"])