From cc71f50ac4b305cab2079dbd4295f68910a0e3b1 Mon Sep 17 00:00:00 2001 From: Macartur Sousa Date: Thu, 22 Oct 2015 17:32:25 -0200 Subject: [PATCH] Test get_template_search_preview template tag --- colab/search/tests.py | 82 ---------------------------------------------------------------------------------- colab/search/tests/__init__.py | 0 colab/search/tests/test_search_view.py | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ colab/search/tests/test_templatetags.py | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 116 insertions(+), 82 deletions(-) delete mode 100644 colab/search/tests.py create mode 100644 colab/search/tests/__init__.py create mode 100644 colab/search/tests/test_search_view.py create mode 100644 colab/search/tests/test_templatetags.py diff --git a/colab/search/tests.py b/colab/search/tests.py deleted file mode 100644 index 056f462..0000000 --- a/colab/search/tests.py +++ /dev/null @@ -1,82 +0,0 @@ -# -*- coding:utf-8 -*- - -import mock - -from colab.plugins.utils import filters_importer -from django.test import TestCase, Client -from django.core.management import call_command - - -class SearchViewTest(TestCase): - - fixtures = ['test_data.json'] - - def setUp(self): - call_command('rebuild_index', interactive=False, verbosity=0) - self.client = Client() - - def tearDown(self): - call_command('clear_index', interactive=False, verbosity=0) - - def test_search_thread(self): - request = self.client.get('/search/?q=thread') - thread_list = request.context['page'].object_list - - self.assertEqual(3, len(thread_list)) - - condition = any('This is a repply to Thread 1 on list A' in - t.description for t in thread_list) - self.assertTrue(condition) - condition = any('This is a repply to Thread 1 on list B' in - t.description for t in thread_list) - self.assertTrue(condition) - condition = any('This is a repply to Thread 1 on list C' in - t.description for t in thread_list) - self.assertTrue(condition) - - def test_search_account_by_firstName(self): - request = self.client.get('/search/?q=Chuck') - user_list = request.context['page'].object_list - - self.assertEqual(1, len(user_list)) - - self.assertIn('chucknorris@mail.com', user_list[0].object.email) - self.assertIn('Chuck', user_list[0].object.first_name) - self.assertIn('Norris', user_list[0].object.last_name) - self.assertIn('chucknorris', user_list[0].object.username) - - def test_search_account_by_lastName(self): - request = self.client.get('/search/?q=Norris') - user_list = request.context['page'].object_list - - self.assertEqual(2, len(user_list)) - - self.assertIn('heisenberg@mail.com', user_list[1].object.email) - self.assertIn('Heisenberg', user_list[1].object.first_name) - self.assertIn('Norris', user_list[1].object.last_name) - self.assertIn('heisenbergnorris', user_list[1].object.username) - - self.assertIn('chucknorris@mail.com', user_list[0].object.email) - self.assertIn('Chuck', user_list[0].object.first_name) - self.assertIn('Norris', user_list[0].object.last_name) - self.assertIn('chucknorris', user_list[0].object.username) - - def test_search_plugin_filters(self): - plugin_filter = { - 'plugin_name': { - 'name': 'PluginData', - 'icon': 'plugin_icon', - 'fields': ( - ('field_1', 'Field1', ''), - ('field_2', 'Field2', ''), - ), - }, - } - filters_importer.import_plugin_filters = mock.Mock( - return_value=plugin_filter) - - request = self.client.get('/search/?q=') - - value = [('plugin_name', 'PluginData', 'plugin_icon')] - - self.assertEqual(request.context['filters_options'], value) diff --git a/colab/search/tests/__init__.py b/colab/search/tests/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/colab/search/tests/__init__.py diff --git a/colab/search/tests/test_search_view.py b/colab/search/tests/test_search_view.py new file mode 100644 index 0000000..056f462 --- /dev/null +++ b/colab/search/tests/test_search_view.py @@ -0,0 +1,82 @@ +# -*- coding:utf-8 -*- + +import mock + +from colab.plugins.utils import filters_importer +from django.test import TestCase, Client +from django.core.management import call_command + + +class SearchViewTest(TestCase): + + fixtures = ['test_data.json'] + + def setUp(self): + call_command('rebuild_index', interactive=False, verbosity=0) + self.client = Client() + + def tearDown(self): + call_command('clear_index', interactive=False, verbosity=0) + + def test_search_thread(self): + request = self.client.get('/search/?q=thread') + thread_list = request.context['page'].object_list + + self.assertEqual(3, len(thread_list)) + + condition = any('This is a repply to Thread 1 on list A' in + t.description for t in thread_list) + self.assertTrue(condition) + condition = any('This is a repply to Thread 1 on list B' in + t.description for t in thread_list) + self.assertTrue(condition) + condition = any('This is a repply to Thread 1 on list C' in + t.description for t in thread_list) + self.assertTrue(condition) + + def test_search_account_by_firstName(self): + request = self.client.get('/search/?q=Chuck') + user_list = request.context['page'].object_list + + self.assertEqual(1, len(user_list)) + + self.assertIn('chucknorris@mail.com', user_list[0].object.email) + self.assertIn('Chuck', user_list[0].object.first_name) + self.assertIn('Norris', user_list[0].object.last_name) + self.assertIn('chucknorris', user_list[0].object.username) + + def test_search_account_by_lastName(self): + request = self.client.get('/search/?q=Norris') + user_list = request.context['page'].object_list + + self.assertEqual(2, len(user_list)) + + self.assertIn('heisenberg@mail.com', user_list[1].object.email) + self.assertIn('Heisenberg', user_list[1].object.first_name) + self.assertIn('Norris', user_list[1].object.last_name) + self.assertIn('heisenbergnorris', user_list[1].object.username) + + self.assertIn('chucknorris@mail.com', user_list[0].object.email) + self.assertIn('Chuck', user_list[0].object.first_name) + self.assertIn('Norris', user_list[0].object.last_name) + self.assertIn('chucknorris', user_list[0].object.username) + + def test_search_plugin_filters(self): + plugin_filter = { + 'plugin_name': { + 'name': 'PluginData', + 'icon': 'plugin_icon', + 'fields': ( + ('field_1', 'Field1', ''), + ('field_2', 'Field2', ''), + ), + }, + } + filters_importer.import_plugin_filters = mock.Mock( + return_value=plugin_filter) + + request = self.client.get('/search/?q=') + + value = [('plugin_name', 'PluginData', 'plugin_icon')] + + self.assertEqual(request.context['filters_options'], value) diff --git a/colab/search/tests/test_templatetags.py b/colab/search/tests/test_templatetags.py new file mode 100644 index 0000000..4cfa6f9 --- /dev/null +++ b/colab/search/tests/test_templatetags.py @@ -0,0 +1,34 @@ +# -*- coding:utf-8 -*- + +from django.test import TestCase +from colab.search.templatetags.search_preview_templates import ( + get_search_preview_templates) +from mock import MagicMock, PropertyMock + + +class SearchTemplateTagsTest(TestCase): + + def setUp(self): + self.model_indexed_mock = MagicMock() + self.template_path = "{}/{}_search_preview.html" + + def set_mock_value(self, value): + type(self.model_indexed_mock).type = PropertyMock(return_value=value) + + def test_get_search_preview_templates_with_user(self): + self.set_mock_value("user") + include_path = get_search_preview_templates(self.model_indexed_mock) + self.assertEqual(include_path, self.template_path.format("accounts", + "user")) + + def test_get_search_preview_templates_with_thread(self): + self.set_mock_value("thread") + include_path = get_search_preview_templates(self.model_indexed_mock) + self.assertEqual(include_path, + self.template_path.format("superarchives", "thread")) + + def test_get_search_preview_templates_with_plugin(self): + self.set_mock_value("plugin_model") + include_path = get_search_preview_templates(self.model_indexed_mock) + self.assertEqual(include_path, self.template_path.format("plugin", + "model")) -- libgit2 0.21.2