diff --git a/colab/search/tests.py b/colab/search/tests.py deleted file mode 100644 index d1ede50..0000000 --- a/colab/search/tests.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding:utf-8 -*- - -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) 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..d1ede50 --- /dev/null +++ b/colab/search/tests/test_search_view.py @@ -0,0 +1,59 @@ +# -*- coding:utf-8 -*- + +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) 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