Source code for django_elasticsearch_dsl_drf.tests.test_helpers

# -*- coding: utf-8 -*-
"""
Test helpers.
"""

from __future__ import absolute_import, unicode_literals

import unittest

from django.core.management import call_command

import pytest

import factories

from ..helpers import more_like_this

from .base import BaseTestCase

__title__ = 'django_elasticsearch_dsl_drf.tests.test_helpers'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = '2017-2019 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = (
    'TestHelpers',
)


[docs]@pytest.mark.django_db class TestHelpers(BaseTestCase): """Test helpers.""" pytestmark = pytest.mark.django_db
[docs] @classmethod def setUpClass(cls): cls.books_count = 30 cls.books = [] cls.books.append( factories.BookWithoutTagsFactory( title="Magic Of Thinking Big", description="Millions of people throughout the world have " "improved their lives using The Magic of " "Thinking Big. Dr. David J. Schwartz, long " "regarded as one of the foremost experts on " "motivation, will help you sell better, manage " "better, earn more money, and-most important " "of all-find greater happiness and peace of mind." ) ) cls.books.append( factories.BookWithoutTagsFactory( title="The Power of Positive Thinking", description="The book describes the power positive thinking " "has and how a firm belief in something, does " "actually help in achieving it." ) ) cls.books.append( factories.BookWithoutTagsFactory( title="Think and Grow Rich", description="Think And Grow Rich has earned itself the " "reputation of being considered a textbook for " "actionable techniques that can help one get " "better at doing anything, not just by rich and " "wealthy, but also by people doing wonderful work " "in their respective fields." ) ) cls.books.append( factories.BookWithoutTagsFactory( title="The Magic of thinking Big", description="First published in 1959, David J Schwartz's " "classic teachings are as powerful today as they " "were then. Practical, empowering and hugely " "engaging, this book will not only inspire you, " "it will give you the tools to change your life " "for the better - starting from now." ) ) cls.books.append( factories.BookWithoutTagsFactory( title="How to Stop Worrying and Start Living", description="The book is written to help readers by changing " "their habit of worrying. The author Dale " "Carnegie has shared his personal experiences, " "wherein he was mostly unsatisfied and worried " "about lot of life situations." ) ) cls.books.append( factories.BookWithoutTagsFactory( title="Practicing The Power Of Now", description="To make the journey into The Power of Now we " "will need to leave our analytical mind and its " "false created self, the ego, behind." ) ) call_command('search_index', '--rebuild', '-f')
def _more_like_this(self, obj, fields): """Filter by field.""" res = more_like_this(obj, fields, 2, 2, 2, 10) self.assertGreater(res.count(), 0)
[docs] def test_filter_by_field(self): """Filter by field.""" obj = self.books[0] return self._more_like_this(obj, ['title', 'description'])
if __name__ == '__main__': unittest.main()