diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2012-12-13 14:34:25 +0100 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2012-12-13 14:34:25 +0100 |
commit | a9d22e8e9cbe51ae353b4e2f68ff635e9cf6d844 (patch) | |
tree | 93b89c352c632360f4d056445c983615709f9b58 /hyperkitty/tests | |
parent | e8ff971ed0089e343c5653672707307b89ad6e63 (diff) | |
download | hyperkitty-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__.py | 1 | ||||
-rw-r--r-- | hyperkitty/tests/test_lib.py | 47 | ||||
-rw-r--r-- | hyperkitty/tests/test_views.py | 37 |
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) |