Commit cc71f50ac4b305cab2079dbd4295f68910a0e3b1

Authored by Macartur Sousa
Committed by Matheus Fernandes
1 parent f8e88aa4
Exists in colab_search

Test get_template_search_preview template tag

Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
Signed-off-by: Lucas Moura <lucas.moura28@gmail.com>
Signed-off-by: Lucas Kanashiro <kanashiro.duarte@gmail.com>
colab/search/tests.py
... ... @@ -1,82 +0,0 @@
1   -# -*- coding:utf-8 -*-
2   -
3   -import mock
4   -
5   -from colab.plugins.utils import filters_importer
6   -from django.test import TestCase, Client
7   -from django.core.management import call_command
8   -
9   -
10   -class SearchViewTest(TestCase):
11   -
12   - fixtures = ['test_data.json']
13   -
14   - def setUp(self):
15   - call_command('rebuild_index', interactive=False, verbosity=0)
16   - self.client = Client()
17   -
18   - def tearDown(self):
19   - call_command('clear_index', interactive=False, verbosity=0)
20   -
21   - def test_search_thread(self):
22   - request = self.client.get('/search/?q=thread')
23   - thread_list = request.context['page'].object_list
24   -
25   - self.assertEqual(3, len(thread_list))
26   -
27   - condition = any('This is a repply to Thread 1 on list A' in
28   - t.description for t in thread_list)
29   - self.assertTrue(condition)
30   - condition = any('This is a repply to Thread 1 on list B' in
31   - t.description for t in thread_list)
32   - self.assertTrue(condition)
33   - condition = any('This is a repply to Thread 1 on list C' in
34   - t.description for t in thread_list)
35   - self.assertTrue(condition)
36   -
37   - def test_search_account_by_firstName(self):
38   - request = self.client.get('/search/?q=Chuck')
39   - user_list = request.context['page'].object_list
40   -
41   - self.assertEqual(1, len(user_list))
42   -
43   - self.assertIn('chucknorris@mail.com', user_list[0].object.email)
44   - self.assertIn('Chuck', user_list[0].object.first_name)
45   - self.assertIn('Norris', user_list[0].object.last_name)
46   - self.assertIn('chucknorris', user_list[0].object.username)
47   -
48   - def test_search_account_by_lastName(self):
49   - request = self.client.get('/search/?q=Norris')
50   - user_list = request.context['page'].object_list
51   -
52   - self.assertEqual(2, len(user_list))
53   -
54   - self.assertIn('heisenberg@mail.com', user_list[1].object.email)
55   - self.assertIn('Heisenberg', user_list[1].object.first_name)
56   - self.assertIn('Norris', user_list[1].object.last_name)
57   - self.assertIn('heisenbergnorris', user_list[1].object.username)
58   -
59   - self.assertIn('chucknorris@mail.com', user_list[0].object.email)
60   - self.assertIn('Chuck', user_list[0].object.first_name)
61   - self.assertIn('Norris', user_list[0].object.last_name)
62   - self.assertIn('chucknorris', user_list[0].object.username)
63   -
64   - def test_search_plugin_filters(self):
65   - plugin_filter = {
66   - 'plugin_name': {
67   - 'name': 'PluginData',
68   - 'icon': 'plugin_icon',
69   - 'fields': (
70   - ('field_1', 'Field1', ''),
71   - ('field_2', 'Field2', ''),
72   - ),
73   - },
74   - }
75   - filters_importer.import_plugin_filters = mock.Mock(
76   - return_value=plugin_filter)
77   -
78   - request = self.client.get('/search/?q=')
79   -
80   - value = [('plugin_name', 'PluginData', 'plugin_icon')]
81   -
82   - self.assertEqual(request.context['filters_options'], value)
colab/search/tests/__init__.py 0 → 100644
colab/search/tests/test_search_view.py 0 → 100644
... ... @@ -0,0 +1,82 @@
  1 +# -*- coding:utf-8 -*-
  2 +
  3 +import mock
  4 +
  5 +from colab.plugins.utils import filters_importer
  6 +from django.test import TestCase, Client
  7 +from django.core.management import call_command
  8 +
  9 +
  10 +class SearchViewTest(TestCase):
  11 +
  12 + fixtures = ['test_data.json']
  13 +
  14 + def setUp(self):
  15 + call_command('rebuild_index', interactive=False, verbosity=0)
  16 + self.client = Client()
  17 +
  18 + def tearDown(self):
  19 + call_command('clear_index', interactive=False, verbosity=0)
  20 +
  21 + def test_search_thread(self):
  22 + request = self.client.get('/search/?q=thread')
  23 + thread_list = request.context['page'].object_list
  24 +
  25 + self.assertEqual(3, len(thread_list))
  26 +
  27 + condition = any('This is a repply to Thread 1 on list A' in
  28 + t.description for t in thread_list)
  29 + self.assertTrue(condition)
  30 + condition = any('This is a repply to Thread 1 on list B' in
  31 + t.description for t in thread_list)
  32 + self.assertTrue(condition)
  33 + condition = any('This is a repply to Thread 1 on list C' in
  34 + t.description for t in thread_list)
  35 + self.assertTrue(condition)
  36 +
  37 + def test_search_account_by_firstName(self):
  38 + request = self.client.get('/search/?q=Chuck')
  39 + user_list = request.context['page'].object_list
  40 +
  41 + self.assertEqual(1, len(user_list))
  42 +
  43 + self.assertIn('chucknorris@mail.com', user_list[0].object.email)
  44 + self.assertIn('Chuck', user_list[0].object.first_name)
  45 + self.assertIn('Norris', user_list[0].object.last_name)
  46 + self.assertIn('chucknorris', user_list[0].object.username)
  47 +
  48 + def test_search_account_by_lastName(self):
  49 + request = self.client.get('/search/?q=Norris')
  50 + user_list = request.context['page'].object_list
  51 +
  52 + self.assertEqual(2, len(user_list))
  53 +
  54 + self.assertIn('heisenberg@mail.com', user_list[1].object.email)
  55 + self.assertIn('Heisenberg', user_list[1].object.first_name)
  56 + self.assertIn('Norris', user_list[1].object.last_name)
  57 + self.assertIn('heisenbergnorris', user_list[1].object.username)
  58 +
  59 + self.assertIn('chucknorris@mail.com', user_list[0].object.email)
  60 + self.assertIn('Chuck', user_list[0].object.first_name)
  61 + self.assertIn('Norris', user_list[0].object.last_name)
  62 + self.assertIn('chucknorris', user_list[0].object.username)
  63 +
  64 + def test_search_plugin_filters(self):
  65 + plugin_filter = {
  66 + 'plugin_name': {
  67 + 'name': 'PluginData',
  68 + 'icon': 'plugin_icon',
  69 + 'fields': (
  70 + ('field_1', 'Field1', ''),
  71 + ('field_2', 'Field2', ''),
  72 + ),
  73 + },
  74 + }
  75 + filters_importer.import_plugin_filters = mock.Mock(
  76 + return_value=plugin_filter)
  77 +
  78 + request = self.client.get('/search/?q=')
  79 +
  80 + value = [('plugin_name', 'PluginData', 'plugin_icon')]
  81 +
  82 + self.assertEqual(request.context['filters_options'], value)
... ...
colab/search/tests/test_templatetags.py 0 → 100644
... ... @@ -0,0 +1,34 @@
  1 +# -*- coding:utf-8 -*-
  2 +
  3 +from django.test import TestCase
  4 +from colab.search.templatetags.search_preview_templates import (
  5 + get_search_preview_templates)
  6 +from mock import MagicMock, PropertyMock
  7 +
  8 +
  9 +class SearchTemplateTagsTest(TestCase):
  10 +
  11 + def setUp(self):
  12 + self.model_indexed_mock = MagicMock()
  13 + self.template_path = "{}/{}_search_preview.html"
  14 +
  15 + def set_mock_value(self, value):
  16 + type(self.model_indexed_mock).type = PropertyMock(return_value=value)
  17 +
  18 + def test_get_search_preview_templates_with_user(self):
  19 + self.set_mock_value("user")
  20 + include_path = get_search_preview_templates(self.model_indexed_mock)
  21 + self.assertEqual(include_path, self.template_path.format("accounts",
  22 + "user"))
  23 +
  24 + def test_get_search_preview_templates_with_thread(self):
  25 + self.set_mock_value("thread")
  26 + include_path = get_search_preview_templates(self.model_indexed_mock)
  27 + self.assertEqual(include_path,
  28 + self.template_path.format("superarchives", "thread"))
  29 +
  30 + def test_get_search_preview_templates_with_plugin(self):
  31 + self.set_mock_value("plugin_model")
  32 + include_path = get_search_preview_templates(self.model_indexed_mock)
  33 + self.assertEqual(include_path, self.template_path.format("plugin",
  34 + "model"))
... ...