Source code for strawberry.tests.test_fields

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

from __future__ import absolute_import, unicode_literals

import hashlib
import unittest

import pytest

import factories

from .base import BaseTestCase

__title__ = 'strawberry.tests.test_fields'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
__copyright__ = '2018 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = (
    'TestFields',
)


BOOK_DATA = {
    'title': "CHAPTER II. The Pool of Tears.",
    'summary': "Alice spots another creature in the pool, swimming far "
               "off. She sees that it is a mouse, who has also slipped "
               "into the pool of tears. Alice thinks she might as well "
               "try speaking to the mouse but he doesn't seem to "
               "understand English, so she tries addressing him in "
               "French. The first phrase she thinks of is “Ou est ma "
               "chatte?“ which means “Where is my cat?“ The mouse is "
               "suitably unnerved. Alice protests that the mouse would "
               "like her cat, Dinah, and proceeds to list her virtues. "
               "The mouse is very offended.",
    'description': "As she said these words her foot slipped, and in "
                   "another moment, splash! she was up to her chin in "
                   "salt water. Her first idea was that she had somehow "
                   "fallen into the sea, ‘and in that case I can go back "
                   "by railway,’ she said to herself. (Alice had been to "
                   "the seaside once in her life, and had come to the "
                   "general conclusion, that wherever you go to on the "
                   "English coast you find a number of bathing machines "
                   "in the sea, some children digging in the sand with "
                   "wooden spades, then a row of lodging houses, and "
                   "behind them a railway station.) However, she soon "
                   "made out that she was in the pool of tears which she "
                   "had wept when she was nine feet high.",
}


[docs]@pytest.mark.django_db class TestFields(BaseTestCase): """Test fields.""" pytestmark = pytest.mark.django_db
[docs] @classmethod def setUpClass(cls): cls.book = factories.BookFactory(**BOOK_DATA)
[docs] def test_filter_by_field(self): """Filter by field.""" md5 = hashlib.md5() summary_text = BOOK_DATA['summary'].encode('utf8') md5.update(summary_text) self.assertEqual( self.book.summary_hash, md5.hexdigest() ) md5 = hashlib.md5() description_text = BOOK_DATA['description'].encode('utf8') md5.update(description_text) self.assertEqual( self.book.description_hash, md5.hexdigest() )
if __name__ == '__main__': unittest.main()