* adds codelist 1035 for compensation action detail codes * extends CompensationAction model * extends NewActionForm * extends detail view of compensation action related models * add/updates translations * adds autocomplete tests
90 lines
2.8 KiB
Python
90 lines
2.8 KiB
Python
"""
|
|
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
|
|
|
|
# Provide the full name --> success
|
|
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"])
|
|
|
|
# Provide only the first letter --> no result
|
|
data = {
|
|
"q": username[0]
|
|
}
|
|
response = self.client.get(
|
|
user_autocomplete_url,
|
|
data,
|
|
)
|
|
content = json.loads(response.content)
|
|
self.assertEqual([], content["results"])
|
|
|
|
# Provide full name + too much --> no result
|
|
data = {
|
|
"q": username + "t"
|
|
}
|
|
response = self.client.get(
|
|
user_autocomplete_url,
|
|
data,
|
|
)
|
|
content = json.loads(response.content)
|
|
self.assertEqual([], content["results"])
|
|
|
|
def test_all_autocompletes(self):
|
|
tests = [
|
|
"accounts-autocomplete",
|
|
"interventions-autocomplete",
|
|
"codes-compensation-action-autocomplete",
|
|
"codes-compensation-action-detail-autocomplete",
|
|
"codes-biotope-autocomplete",
|
|
"codes-biotope-extra-type-autocomplete",
|
|
"codes-law-autocomplete",
|
|
"codes-process-type-autocomplete",
|
|
"codes-registration-office-autocomplete",
|
|
"codes-conservation-office-autocomplete",
|
|
"share-user-autocomplete",
|
|
]
|
|
for test in tests:
|
|
self.client.login(username=self.superuser.username, password=self.superuser_pw)
|
|
user_autocomplete_url = reverse(test)
|
|
data = {
|
|
"q": ""
|
|
}
|
|
response = self.client.get(
|
|
user_autocomplete_url,
|
|
data,
|
|
)
|
|
content = json.loads(response.content)
|
|
try:
|
|
content["results"]
|
|
except KeyError:
|
|
self.fail(f"No results returned for autocomplete {test}")
|