You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

49 lines
1.7 KiB

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from aldryn_people.search_indexes import PeopleIndex
from ..models import Person
from . import BasePeopleTest
class TestPeopleIndex(BasePeopleTest):
def test_get_title(self):
idx_obj = PeopleIndex()
person1 = self.reload(self.person1, "en")
self.assertEqual(idx_obj.get_title(person1), person1.name)
person1 = self.reload(self.person1, "de")
self.assertEqual(idx_obj.get_title(person1), person1.name)
def test_get_index_kwargs(self):
# This is a silly test, but is here for completeness.
idx_obj = PeopleIndex()
self.assertEqual(idx_obj.get_index_kwargs("en"), {
'translations__language_code': 'en'
})
def test_get_index_queryset(self):
idx_obj = PeopleIndex()
# Person2 does NOT have an EN translation, so should appear here.
self.assertEqualItems(
[q.id for q in idx_obj.get_index_queryset("en")],
[self.person1.id],
)
# Both person objects have DE translations
self.assertEqualItems(
[q.id for q in idx_obj.get_index_queryset("de")],
[self.person1.id, self.person2.id],
)
def test_get_model(self):
# This is a silly test, but is here for completeness.
idx_obj = PeopleIndex()
self.assertEqual(idx_obj.get_model(), Person)
def test_get_search_data(self):
idx_obj = PeopleIndex()
person1 = self.reload(self.person1, "en")
search_data = idx_obj.get_search_data(person1, "en", None)
self.assertEqual(search_data, self.data['person1']['en']['description'])