|
@ -3,7 +3,6 @@ from django.urls import reverse |
|
|
import seminar.models as m |
|
|
import seminar.models as m |
|
|
import seminar.views as v |
|
|
import seminar.views as v |
|
|
from seminar.utils import sync_skoly |
|
|
from seminar.utils import sync_skoly |
|
|
from unittest import expectedFailure |
|
|
|
|
|
|
|
|
|
|
|
class OrgSkolyAutocompleteTestCase(TestCase): |
|
|
class OrgSkolyAutocompleteTestCase(TestCase): |
|
|
@classmethod |
|
|
@classmethod |
|
@ -12,6 +11,7 @@ class OrgSkolyAutocompleteTestCase(TestCase): |
|
|
sync_skoly('https://mam.mff.cuni.cz/') |
|
|
sync_skoly('https://mam.mff.cuni.cz/') |
|
|
# Správné školy podle toho, co orgové poslali: (prefix, ID školy) |
|
|
# Správné školy podle toho, co orgové poslali: (prefix, ID školy) |
|
|
# NOTE: Pozor, jedná se o databázové indexy. Pokud se to někdy rozbije, bude potřeba je přepsat nebo předělat na IZO |
|
|
# NOTE: Pozor, jedná se o databázové indexy. Pokud se to někdy rozbije, bude potřeba je přepsat nebo předělat na IZO |
|
|
|
|
|
# TODO: Opravit zakomentované školy. |
|
|
cls.spravna_data = [ |
|
|
cls.spravna_data = [ |
|
|
('gymnázium kolín', 53), |
|
|
('gymnázium kolín', 53), |
|
|
('kolín', 53), |
|
|
('kolín', 53), |
|
@ -38,16 +38,6 @@ class OrgSkolyAutocompleteTestCase(TestCase): |
|
|
("J. S. Machar", 15), |
|
|
("J. S. Machar", 15), |
|
|
("Brandýs", 15), |
|
|
("Brandýs", 15), |
|
|
] |
|
|
] |
|
|
# Následující aktuálně neumíme matchnout. Jsou v separátním |
|
|
|
|
|
# testu jako expected failure, kdyby / až začnou fungovat, tak |
|
|
|
|
|
# je odsud odeberme a výš odkomentujme. |
|
|
|
|
|
cls.failujici_data = [ |
|
|
|
|
|
('gasoš', 96), |
|
|
|
|
|
('gasoš Rokycany', 96), |
|
|
|
|
|
('SPŠE Pardubice', 815), |
|
|
|
|
|
("Gymnázium, Brno, tř. Kpt. Jaroše", 164), |
|
|
|
|
|
("první soukromé", 2), |
|
|
|
|
|
] |
|
|
|
|
|
|
|
|
|
|
|
def test_view_funguje(self): |
|
|
def test_view_funguje(self): |
|
|
"""Jen se pokusí udělat na ten view dotaz a kouká na odpověď""" |
|
|
"""Jen se pokusí udělat na ten view dotaz a kouká na odpověď""" |
|
@ -63,16 +53,6 @@ class OrgSkolyAutocompleteTestCase(TestCase): |
|
|
resp = self.client.get(reverse('autocomplete_skola')+'?q='+pfx).json() |
|
|
resp = self.client.get(reverse('autocomplete_skola')+'?q='+pfx).json() |
|
|
ids = [int(x['id']) for x in resp['results']] |
|
|
ids = [int(x['id']) for x in resp['results']] |
|
|
self.assertIn(spravna_skola.id, ids, f"Škola nenalezena v odpovědi") |
|
|
self.assertIn(spravna_skola.id, ids, f"Škola nenalezena v odpovědi") |
|
|
@expectedFailure |
|
|
|
|
|
def test_skoly_vraceny_failujici(self): |
|
|
|
|
|
"""Orgové mají své školy v autocomplete (Expected Failure)""" |
|
|
|
|
|
for pfx, id in self.failujici_data: |
|
|
|
|
|
with self.subTest(prefix=pfx, spravne_id=id): |
|
|
|
|
|
spravna_skola = m.Skola.objects.get(id=id) |
|
|
|
|
|
# Zeptáme se view, co si myslí |
|
|
|
|
|
resp = self.client.get(reverse('autocomplete_skola')+'?q='+pfx).json() |
|
|
|
|
|
ids = [int(x['id']) for x in resp['results']] |
|
|
|
|
|
self.assertIn(spravna_skola.id, ids, f"Škola nenalezena v odpovědi") |
|
|
|
|
|
|
|
|
|
|
|
def test_skoly_pocet(self): |
|
|
def test_skoly_pocet(self): |
|
|
"""Testuje, že se pro dané prefixy nevrací moc škol""" |
|
|
"""Testuje, že se pro dané prefixy nevrací moc škol""" |
|
|