~ubuntu-branches/debian/sid/python-django/sid

« back to all changes in this revision

Viewing changes to tests/generic_views/test_dates.py

  • Committer: Package Import Robot
  • Author(s): Raphaël Hertzog
  • Date: 2014-09-17 14:15:11 UTC
  • mfrom: (1.3.17) (6.2.18 experimental)
  • Revision ID: package-import@ubuntu.com-20140917141511-icneokthe9ww5sk4
Tags: 1.7-2
* Release to unstable.
* Add a migrate-south sample script to help users apply their South
  migrations. Thanks to Brian May.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
from __future__ import absolute_import
 
1
from __future__ import unicode_literals
2
2
 
3
3
import datetime
4
4
 
5
5
from django.core.exceptions import ImproperlyConfigured
6
 
from django.test import TestCase, skipUnlessDBFeature
7
 
from django.test.utils import override_settings, requires_tz_support
 
6
from django.test import TestCase, override_settings, skipUnlessDBFeature
 
7
from django.test.utils import requires_tz_support
8
8
from django.utils import timezone
9
9
 
10
10
from .models import Book, BookSigning
12
12
 
13
13
def _make_books(n, base_date):
14
14
    for i in range(n):
15
 
        b = Book.objects.create(
 
15
        Book.objects.create(
16
16
            name='Book %d' % i,
17
17
            slug='book-%d' % i,
18
 
            pages=100+i,
 
18
            pages=100 + i,
19
19
            pubdate=base_date - datetime.timedelta(days=i))
20
20
 
 
21
 
21
22
class ArchiveIndexViewTests(TestCase):
22
23
    fixtures = ['generic-views-test-data.json']
23
24
    urls = 'generic_views.urls'
24
25
 
25
 
 
26
26
    def test_archive_view(self):
27
27
        res = self.client.get('/dates/books/')
28
28
        self.assertEqual(res.status_code, 200)
159
159
    def test_year_view_allow_future(self):
160
160
        # Create a new book in the future
161
161
        year = datetime.date.today().year + 1
162
 
        b = Book.objects.create(name="The New New Testement", pages=600, pubdate=datetime.date(year, 1, 1))
 
162
        Book.objects.create(name="The New New Testement", pages=600, pubdate=datetime.date(year, 1, 1))
163
163
        res = self.client.get('/dates/books/%s/' % year)
164
164
        self.assertEqual(res.status_code, 404)
165
165
 
292
292
        "Content can exist on any day of the previous month. Refs #14711"
293
293
        self.pubdate_list = [
294
294
            datetime.date(2010, month, day)
295
 
            for month,day in ((9,1), (10,2), (11,3))
 
295
            for month, day in ((9, 1), (10, 2), (11, 3))
296
296
        ]
297
297
        for pubdate in self.pubdate_list:
298
298
            name = str(pubdate)
300
300
 
301
301
        res = self.client.get('/dates/books/2010/nov/allow_empty/')
302
302
        self.assertEqual(res.status_code, 200)
303
 
        self.assertEqual(res.context['previous_month'], datetime.date(2010,10,1))
 
303
        self.assertEqual(res.context['previous_month'], datetime.date(2010, 10, 1))
304
304
        # The following test demonstrates the bug
305
305
        res = self.client.get('/dates/books/2010/nov/')
306
306
        self.assertEqual(res.status_code, 200)
307
 
        self.assertEqual(res.context['previous_month'], datetime.date(2010,10,1))
 
307
        self.assertEqual(res.context['previous_month'], datetime.date(2010, 10, 1))
308
308
        # The bug does not occur here because a Book with pubdate of Sep 1 exists
309
309
        res = self.client.get('/dates/books/2010/oct/')
310
310
        self.assertEqual(res.status_code, 200)
311
 
        self.assertEqual(res.context['previous_month'], datetime.date(2010,9,1))
 
311
        self.assertEqual(res.context['previous_month'], datetime.date(2010, 9, 1))
312
312
 
313
313
    def test_datetime_month_view(self):
314
314
        BookSigning.objects.create(event_date=datetime.datetime(2008, 2, 1, 12, 0))