summaryrefslogtreecommitdiffstats
path: root/hyperkitty/tests
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2012-12-13 14:34:25 +0100
committerAurélien Bompard <aurelien@bompard.org>2012-12-13 14:34:25 +0100
commita9d22e8e9cbe51ae353b4e2f68ff635e9cf6d844 (patch)
tree93b89c352c632360f4d056445c983615709f9b58 /hyperkitty/tests
parente8ff971ed0089e343c5653672707307b89ad6e63 (diff)
downloadhyperkitty-a9d22e8e9cbe51ae353b4e2f68ff635e9cf6d844.tar.gz
hyperkitty-a9d22e8e9cbe51ae353b4e2f68ff635e9cf6d844.tar.xz
hyperkitty-a9d22e8e9cbe51ae353b4e2f68ff635e9cf6d844.zip
Fix the archives view for december
Diffstat (limited to 'hyperkitty/tests')
-rw-r--r--hyperkitty/tests/__init__.py1
-rw-r--r--hyperkitty/tests/test_lib.py47
-rw-r--r--hyperkitty/tests/test_views.py37
3 files changed, 83 insertions, 2 deletions
diff --git a/hyperkitty/tests/__init__.py b/hyperkitty/tests/__init__.py
index f3ee25f..87e8c60 100644
--- a/hyperkitty/tests/__init__.py
+++ b/hyperkitty/tests/__init__.py
@@ -23,3 +23,4 @@ from hyperkitty.tests.test_views import *
from hyperkitty.tests.test_models import *
from hyperkitty.tests.test_forms import *
from hyperkitty.tests.test_templatetags import *
+from hyperkitty.tests.test_lib import *
diff --git a/hyperkitty/tests/test_lib.py b/hyperkitty/tests/test_lib.py
new file mode 100644
index 0000000..fb560ae
--- /dev/null
+++ b/hyperkitty/tests/test_lib.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+# Copyright (C) 1998-2012 by the Free Software Foundation, Inc.
+#
+# This file is part of HyperKitty.
+#
+# HyperKitty is free software: you can redistribute it and/or modify it under
+# the terms of the GNU General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option)
+# any later version.
+#
+# HyperKitty is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+# more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# HyperKitty. If not, see <http://www.gnu.org/licenses/>.
+#
+# Author: Aamir Khan <syst3m.w0rm@gmail.com>
+#
+
+import datetime
+
+from django.test import TestCase
+
+from hyperkitty.lib import get_display_dates
+
+
+class GetDisplayDatesTestCase(TestCase):
+
+ def test_month(self):
+ begin_date, end_date = get_display_dates('2012', '6', None)
+ self.assertEqual(begin_date, datetime.datetime(2012, 6, 1))
+ self.assertEqual(end_date, datetime.datetime(2012, 7, 1))
+
+ def test_month_december(self):
+ try:
+ begin_date, end_date = get_display_dates('2012', '12', None)
+ except ValueError, e:
+ self.fail(e)
+ self.assertEqual(begin_date, datetime.datetime(2012, 12, 1))
+ self.assertEqual(end_date, datetime.datetime(2013, 1, 1))
+
+ def test_day(self):
+ begin_date, end_date = get_display_dates('2012', '4', '2')
+ self.assertEqual(begin_date, datetime.datetime(2012, 4, 2))
+ self.assertEqual(end_date, datetime.datetime(2012, 4, 3))
diff --git a/hyperkitty/tests/test_views.py b/hyperkitty/tests/test_views.py
index 13ad0d8..83e3e24 100644
--- a/hyperkitty/tests/test_views.py
+++ b/hyperkitty/tests/test_views.py
@@ -17,13 +17,21 @@
# HyperKitty. If not, see <http://www.gnu.org/licenses/>.
#
# Author: Aamir Khan <syst3m.w0rm@gmail.com>
+# Author: Aurelien Bompard <abompard@fedoraproject.org>
#
+import datetime
+import urllib
+
+from mock import Mock, patch
+
from django.test import TestCase
-from django.test.client import Client
+from django.test.client import Client, RequestFactory
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
-import urllib
+
+#from hyperkitty.views.list import archives
+
class AccountViewsTestCase(TestCase):
@@ -67,6 +75,7 @@ class AccountViewsTestCase(TestCase):
class MessageViewsTestCase(TestCase):
+
def setUp(self):
self.client = Client()
@@ -80,3 +89,27 @@ class MessageViewsTestCase(TestCase):
def test_unauth_vote(self):
resp = self.client.post(reverse('message_vote', kwargs={'mlist_fqdn': 'list@list.com'}), {'vote': 1, 'hashid': 123, })
self.assertEqual(resp.status_code, 403)
+
+
+from hyperkitty.views.list import archives
+
+class ListArchivesTestCase(TestCase):
+
+ def setUp(self):
+# self.store = Mock()
+# self.store.get_threads.return_value = []
+# self.store.get_list.side_effect = lambda n: FakeList(n)
+# defaults = {"kittystore.store": self.store}
+# self.factory = RequestFactory(**defaults)
+ self.factory = RequestFactory()
+
+ def test_no_date(self):
+ today = datetime.date.today()
+ request = self.factory.get("/archives")
+ response = archives(request, 'list@example.com')
+ final_url = reverse('archives_with_month',
+ kwargs={'mlist_fqdn': 'list@example.com',
+ 'year': today.year,
+ 'month': today.month,
+ })
+ self.assertEqual(response["location"], final_url)