Commit 1627b4a611aa9716944da4e0db9fac87a2838622

Authored by Gust
Committed by Sergio Oliveira
1 parent b57841f9

Add tests

Signed-off-by: Gustavo Jaruga <darksshades@gmail.com>
Signed-off-by: Alexandre Barbosa <alexandreab@live.com>
colab/search/tests.py
... ... @@ -13,7 +13,7 @@ class SearchViewTest(TestCase):
13 13 self.client = Client()
14 14  
15 15 def tearDown(self):
16   - call_command('clear_index', interactive=False,verbosity=0)
  16 + call_command('clear_index', interactive=False, verbosity=0)
17 17  
18 18 def test_search_thread(self):
19 19 request = self.client.get('/search/?q=thread')
... ...
colab/super_archives/fixtures/mailinglistdata.json 0 → 100644
... ... @@ -0,0 +1,186 @@
  1 +[
  2 + {
  3 + "fields": {
  4 + "last_name": "Jar",
  5 + "webpage": null,
  6 + "twitter": null,
  7 + "is_staff": false,
  8 + "user_permissions": [
  9 +
  10 + ],
  11 + "date_joined": "2015-02-24T21:10:35.004Z",
  12 + "google_talk": null,
  13 + "first_name": "Gust",
  14 + "is_superuser": false,
  15 + "last_login": "2015-02-26T17:56:13.378Z",
  16 + "verification_hash": null,
  17 + "role": null,
  18 + "email": "gustmax@hotmail.com",
  19 + "username": "gustmax",
  20 + "bio": null,
  21 + "needs_update": false,
  22 + "is_active": true,
  23 + "facebook": null,
  24 + "groups": [
  25 +
  26 + ],
  27 + "password": "pbkdf2_sha256$12000$ez83ccNOUQZk$vYT/QcYMukXZ7D7L1qQPyYlzCUEEEF20J7/Xjef0Rqg=",
  28 + "institution": null,
  29 + "github": null,
  30 + "modified": "2015-02-24T21:11:22.323Z"
  31 + },
  32 + "model": "accounts.user",
  33 + "pk": 1
  34 + },
  35 + {
  36 + "fields": {
  37 + "real_name": "",
  38 + "user": 1,
  39 + "md5": "ed8f47ae6048f8d4456c0554578f53ff",
  40 + "address": "gustmax@hotmail.com"
  41 + },
  42 + "model": "super_archives.emailaddress",
  43 + "pk": 1
  44 + },
  45 + {
  46 + "fields": {
  47 + "description": "",
  48 + "email": "",
  49 + "logo": "",
  50 + "last_imported_index": 0,
  51 + "is_private": true,
  52 + "name": "mailman"
  53 + },
  54 + "model": "super_archives.mailinglist",
  55 + "pk": 1
  56 + },
  57 + {
  58 + "fields": {
  59 + "description": "",
  60 + "email": "",
  61 + "logo": "",
  62 + "last_imported_index": 0,
  63 + "is_private": false,
  64 + "name": "lista"
  65 + },
  66 + "model": "super_archives.mailinglist",
  67 + "pk": 2
  68 + },
  69 + {
  70 + "fields": {
  71 + "description": "",
  72 + "email": "",
  73 + "logo": "",
  74 + "last_imported_index": 0,
  75 + "is_private": true,
  76 + "name": "privatelist"
  77 + },
  78 + "model": "super_archives.mailinglist",
  79 + "pk": 3
  80 + },
  81 + {
  82 + "fields": {
  83 + "spam": false,
  84 + "subject_token": "no-subject",
  85 + "mailinglist": 1,
  86 + "score": 34,
  87 + "latest_message": 1
  88 + },
  89 + "model": "super_archives.thread",
  90 + "pk": 1
  91 + },
  92 + {
  93 + "fields": {
  94 + "spam": false,
  95 + "subject_token": "no-subject",
  96 + "mailinglist": 2,
  97 + "score": 34,
  98 + "latest_message": 2
  99 + },
  100 + "model": "super_archives.thread",
  101 + "pk": 2
  102 + },
  103 + {
  104 + "fields": {
  105 + "spam": false,
  106 + "subject_token": "no-subject",
  107 + "mailinglist": 3,
  108 + "score": 33,
  109 + "latest_message": 3
  110 + },
  111 + "model": "super_archives.thread",
  112 + "pk": 3
  113 + },
  114 + {
  115 + "fields": {
  116 + "body": "lista Mailman email",
  117 + "received_time": "2015-02-24T14:23:42Z",
  118 + "from_address": 1,
  119 + "thread": 1,
  120 + "spam": false,
  121 + "subject_clean": "(no subject)",
  122 + "message_id": "<20150224142347.9ED2419A5B0@localhost.localdomain>",
  123 + "subject": "[Mailman] (no subject)"
  124 + },
  125 + "model": "super_archives.message",
  126 + "pk": 1
  127 + },
  128 + {
  129 + "fields": {
  130 + "body": "nada",
  131 + "received_time": "2015-02-24T14:15:39Z",
  132 + "from_address": 1,
  133 + "thread": 2,
  134 + "spam": false,
  135 + "subject_clean": "(no subject)",
  136 + "message_id": "<20150224141545.1AECA19A5A0@localhost.localdomain>",
  137 + "subject": "[Lista] (no subject)"
  138 + },
  139 + "model": "super_archives.message",
  140 + "pk": 2
  141 + },
  142 + {
  143 + "fields": {
  144 + "body": "Mensagem da lista privada nada",
  145 + "received_time": "2015-02-24T14:15:39Z",
  146 + "from_address": 1,
  147 + "thread": 3,
  148 + "spam": false,
  149 + "subject_clean": "(no subject)",
  150 + "message_id": "<20150224141545.1AECA19A5A0@localhost.localdomain>",
  151 + "subject": "[PrivateList] (no subject)"
  152 + },
  153 + "model": "super_archives.message",
  154 + "pk": 3
  155 + },
  156 + {
  157 + "fields": {
  158 + "text": "lista Mailman email\n",
  159 + "message": 1,
  160 + "is_reply": false,
  161 + "order": 0
  162 + },
  163 + "model": "super_archives.messageblock",
  164 + "pk": 1
  165 + },
  166 + {
  167 + "fields": {
  168 + "text": "nada\n",
  169 + "message": 2,
  170 + "is_reply": false,
  171 + "order": 0
  172 + },
  173 + "model": "super_archives.messageblock",
  174 + "pk": 2
  175 + },
  176 + {
  177 + "fields": {
  178 + "text": "Mensagem da lista privada nada\n",
  179 + "message": 3,
  180 + "is_reply": false,
  181 + "order": 0
  182 + },
  183 + "model": "super_archives.messageblock",
  184 + "pk": 3
  185 + }
  186 +]
... ...
colab/super_archives/tests/__init__.py 0 → 100644
colab/super_archives/tests/test_privatelist.py 0 → 100644
... ... @@ -0,0 +1,66 @@
  1 +# -*- coding:utf-8 -*-
  2 +import mock
  3 +
  4 +from colab.accounts.utils import mailman
  5 +from django.test import TestCase, Client
  6 +
  7 +
  8 +class ArchivesViewTest(TestCase):
  9 +
  10 + fixtures = ['mailinglistdata.json']
  11 +
  12 + def setUp(self):
  13 + self.client = Client()
  14 +
  15 + def authenticate_user(self):
  16 + self.client.login(username='gustmax', password='1234')
  17 +
  18 + def test_see_only_private_list_if_member(self):
  19 + mailman.get_user_mailinglists = mock.Mock(
  20 + return_value="['privatelist']")
  21 +
  22 + self.authenticate_user()
  23 + request = self.client.get('/archives/thread/')
  24 +
  25 + list_data = request.context['lists']
  26 +
  27 + self.assertEqual('lista', list_data[0][0])
  28 + self.assertEqual('privatelist', list_data[1][0])
  29 + self.assertEqual(2, len(list_data))
  30 +
  31 + def test_see_only_public_if_not_logged_in(self):
  32 + request = self.client.get('/archives/thread/')
  33 +
  34 + list_data = request.context['lists']
  35 +
  36 + self.assertEqual('lista', list_data[0][0])
  37 + self.assertEqual(1, len(list_data))
  38 +
  39 + def test_see_private_thread_in_dashboard_if_member(self):
  40 + mailman.get_user_mailinglists = mock.Mock(
  41 + return_value="['privatelist']")
  42 +
  43 + self.authenticate_user()
  44 + request = self.client.get('/dashboard')
  45 +
  46 + latest_threads = request.context['latest_threads']
  47 + hottest_threads = request.context['hottest_threads']
  48 +
  49 + self.assertEqual(2, len(latest_threads))
  50 + self.assertEqual(2, len(hottest_threads))
  51 +
  52 + def test_dont_see_private_thread_if_logged_out(self):
  53 + request = self.client.get('/dashboard')
  54 +
  55 + latest_threads = request.context['latest_threads']
  56 + hottest_threads = request.context['hottest_threads']
  57 +
  58 + self.assertEqual(1, len(latest_threads))
  59 + self.assertEqual(1, len(hottest_threads))
  60 +
  61 + def test_dont_see_private_threads_in_profile_if_logged_out(self):
  62 + request = self.client.get('/account/gustmax')
  63 +
  64 + emails = request.context['emails']
  65 +
  66 + self.assertEqual(1, len(emails))
... ...