Skip to content

Commit b2c940d

Browse files
committed
feat(test_index): add test for cyrillic
1 parent 02283fe commit b2c940d

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

algoliasearch_django/models.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,11 +288,12 @@ def save_record(self, instance, update_fields=None, **kwargs):
288288
if update_fields:
289289
obj = self.get_raw_record(instance,
290290
update_fields=update_fields)
291-
self.__index.partial_update_object(obj)
291+
result = self.__index.partial_update_object(obj)
292292
else:
293293
obj = self.get_raw_record(instance)
294-
self.__index.save_object(obj)
294+
result = self.__index.save_object(obj)
295295
logger.info('SAVE %s FROM %s', obj['objectID'], self.model)
296+
return result
296297
except AlgoliaException as e:
297298
if DEBUG:
298299
raise e
@@ -385,6 +386,16 @@ def clear_index(self):
385386
else:
386387
logger.warning('%s NOT CLEARED: %s', self.model, e)
387388

389+
def wait_task(self, task_id):
390+
try:
391+
self.__index.wait_task(task_id)
392+
logger.info('WAIT TASK %s', self.index_name)
393+
except AlgoliaException as e:
394+
if DEBUG:
395+
raise e
396+
else:
397+
logger.warning('%s NOT WAIT: %s', self.model, e)
398+
388399
def reindex_all(self, batch_size=1000):
389400
"""
390401
Reindex all the records.

tests/test_index.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,3 +437,19 @@ class WebsiteIndex(AlgoliaIndex):
437437

438438
index = WebsiteIndex(Website, self.client, settings.ALGOLIA)
439439
index.save_record(website)
440+
441+
def test_cyrillic(self):
442+
class CyrillicIndex(AlgoliaIndex):
443+
fields = ['bio', 'name']
444+
settings = {
445+
'searchableAttributes': ['name', 'bio'],
446+
}
447+
index_name = "test_cyrillic"
448+
449+
self.user.bio = "крупнейших"
450+
self.user.save()
451+
index = CyrillicIndex(User, self.client, settings.ALGOLIA)
452+
index.wait_task(index.save_record(self.user)["taskID"])
453+
result = index.raw_search("крупнейших")
454+
self.assertEqual(result['nbHits'], 1, "Search should return one result")
455+
self.assertEqual(result['hits'][0]['name'], 'Algolia', "The result should be self.user")

0 commit comments

Comments
 (0)