# -*- coding: utf-8 -*- from __future__ import absolute_import, print_function, unicode_literals from djangocms_blog.search_indexes import PostIndex from . import BaseTest from haystack.constants import DEFAULT_ALIAS class PluginIndexingTests(BaseTest): def setUp(self): self.index = PostIndex() def test_blog_post_is_indexed_using_prepare(self): """This tests the indexing path way used by update_index mgmt command""" post = self._get_post(self._post_data[0]['en']) post = self._get_post(self._post_data[0]['it'], post, 'it') index = self.get_post_index() index.index_queryset(DEFAULT_ALIAS) # initialises index._backend_alias indexed = index.prepare(post) print(indexed) self.assertEqual('First post', indexed['title']) self.assertEqual('This is the description', indexed['description']) self.assertEqual('First post first line This is the description category 1', indexed['text']) self.assertEqual('/en/page-two/2015/10/15/first-post/', indexed['url']) def test_blog_post_is_indexed_using_update_object(self): """This tests the indexing path way used by the RealTimeSignalProcessor""" post = self._get_post(self._post_data[0]['en']) post = self._get_post(self._post_data[0]['it'], post, 'it') index = self.get_post_index() index.update_object(post, using=DEFAULT_ALIAS) indexed = index.prepared_data self.assertEqual('First post', indexed['title']) self.assertEqual('This is the description', indexed['description']) self.assertEqual('First post first line This is the description category 1', indexed['text']) self.assertEqual('/en/page-two/2015/10/15/first-post/', indexed['url'])