Updated tests of .dates().

Replaced .dates() by .datetimes() for DateTimeFields.
Replaced dates with datetimes in the expected output for DateFields.
This commit is contained in:
Aymeric Augustin 2013-02-10 23:07:41 +01:00
parent 50fb7a5246
commit c01bbb3235
11 changed files with 69 additions and 68 deletions

View File

@ -49,7 +49,7 @@ class GeoRegressionTests(TestCase):
founded = datetime(1857, 5, 23) founded = datetime(1857, 5, 23)
mansfield = PennsylvaniaCity.objects.create(name='Mansfield', county='Tioga', point='POINT(-77.071445 41.823881)', mansfield = PennsylvaniaCity.objects.create(name='Mansfield', county='Tioga', point='POINT(-77.071445 41.823881)',
founded=founded) founded=founded)
self.assertEqual(founded, PennsylvaniaCity.objects.dates('founded', 'day')[0]) self.assertEqual(founded, PennsylvaniaCity.objects.datetimes('founded', 'day')[0])
self.assertEqual(founded, PennsylvaniaCity.objects.aggregate(Min('founded'))['founded__min']) self.assertEqual(founded, PennsylvaniaCity.objects.aggregate(Min('founded'))['founded__min'])
def test_empty_count(self): def test_empty_count(self):

View File

@ -579,9 +579,9 @@ class BaseAggregateTestCase(TestCase):
dates = Book.objects.annotate(num_authors=Count("authors")).dates('pubdate', 'year') dates = Book.objects.annotate(num_authors=Count("authors")).dates('pubdate', 'year')
self.assertQuerysetEqual( self.assertQuerysetEqual(
dates, [ dates, [
"datetime.datetime(1991, 1, 1, 0, 0)", "datetime.date(1991, 1, 1)",
"datetime.datetime(1995, 1, 1, 0, 0)", "datetime.date(1995, 1, 1)",
"datetime.datetime(2007, 1, 1, 0, 0)", "datetime.date(2007, 1, 1)",
"datetime.datetime(2008, 1, 1, 0, 0)" "datetime.date(2008, 1, 1)"
] ]
) )

View File

@ -266,34 +266,34 @@ class ModelTest(TestCase):
# ... but there will often be more efficient ways if that is all you need: # ... but there will often be more efficient ways if that is all you need:
self.assertTrue(Article.objects.filter(id=a8.id).exists()) self.assertTrue(Article.objects.filter(id=a8.id).exists())
# dates() returns a list of available dates of the given scope for # datetimes() returns a list of available dates of the given scope for
# the given field. # the given field.
self.assertQuerysetEqual( self.assertQuerysetEqual(
Article.objects.dates('pub_date', 'year'), Article.objects.datetimes('pub_date', 'year'),
["datetime.datetime(2005, 1, 1, 0, 0)"]) ["datetime.datetime(2005, 1, 1, 0, 0)"])
self.assertQuerysetEqual( self.assertQuerysetEqual(
Article.objects.dates('pub_date', 'month'), Article.objects.datetimes('pub_date', 'month'),
["datetime.datetime(2005, 7, 1, 0, 0)"]) ["datetime.datetime(2005, 7, 1, 0, 0)"])
self.assertQuerysetEqual( self.assertQuerysetEqual(
Article.objects.dates('pub_date', 'day'), Article.objects.datetimes('pub_date', 'day'),
["datetime.datetime(2005, 7, 28, 0, 0)", ["datetime.datetime(2005, 7, 28, 0, 0)",
"datetime.datetime(2005, 7, 29, 0, 0)", "datetime.datetime(2005, 7, 29, 0, 0)",
"datetime.datetime(2005, 7, 30, 0, 0)", "datetime.datetime(2005, 7, 30, 0, 0)",
"datetime.datetime(2005, 7, 31, 0, 0)"]) "datetime.datetime(2005, 7, 31, 0, 0)"])
self.assertQuerysetEqual( self.assertQuerysetEqual(
Article.objects.dates('pub_date', 'day', order='ASC'), Article.objects.datetimes('pub_date', 'day', order='ASC'),
["datetime.datetime(2005, 7, 28, 0, 0)", ["datetime.datetime(2005, 7, 28, 0, 0)",
"datetime.datetime(2005, 7, 29, 0, 0)", "datetime.datetime(2005, 7, 29, 0, 0)",
"datetime.datetime(2005, 7, 30, 0, 0)", "datetime.datetime(2005, 7, 30, 0, 0)",
"datetime.datetime(2005, 7, 31, 0, 0)"]) "datetime.datetime(2005, 7, 31, 0, 0)"])
self.assertQuerysetEqual( self.assertQuerysetEqual(
Article.objects.dates('pub_date', 'day', order='DESC'), Article.objects.datetimes('pub_date', 'day', order='DESC'),
["datetime.datetime(2005, 7, 31, 0, 0)", ["datetime.datetime(2005, 7, 31, 0, 0)",
"datetime.datetime(2005, 7, 30, 0, 0)", "datetime.datetime(2005, 7, 30, 0, 0)",
"datetime.datetime(2005, 7, 29, 0, 0)", "datetime.datetime(2005, 7, 29, 0, 0)",
"datetime.datetime(2005, 7, 28, 0, 0)"]) "datetime.datetime(2005, 7, 28, 0, 0)"])
# dates() requires valid arguments. # datetimes() requires valid arguments.
self.assertRaises( self.assertRaises(
TypeError, TypeError,
Article.objects.dates, Article.objects.dates,
@ -324,10 +324,10 @@ class ModelTest(TestCase):
order="bad order", order="bad order",
) )
# Use iterator() with dates() to return a generator that lazily # Use iterator() with datetimes() to return a generator that lazily
# requests each result one at a time, to save memory. # requests each result one at a time, to save memory.
dates = [] dates = []
for article in Article.objects.dates('pub_date', 'day', order='DESC').iterator(): for article in Article.objects.datetimes('pub_date', 'day', order='DESC').iterator():
dates.append(article) dates.append(article)
self.assertEqual(dates, [ self.assertEqual(dates, [
datetime(2005, 7, 31, 0, 0), datetime(2005, 7, 31, 0, 0),

View File

@ -1,7 +1,7 @@
from __future__ import absolute_import from __future__ import absolute_import
from copy import deepcopy from copy import deepcopy
from datetime import datetime import datetime
from django.core.exceptions import MultipleObjectsReturned, FieldError from django.core.exceptions import MultipleObjectsReturned, FieldError
from django.test import TestCase from django.test import TestCase
@ -20,7 +20,7 @@ class ManyToOneTests(TestCase):
self.r2.save() self.r2.save()
# Create an Article. # Create an Article.
self.a = Article(id=None, headline="This is a test", self.a = Article(id=None, headline="This is a test",
pub_date=datetime(2005, 7, 27), reporter=self.r) pub_date=datetime.date(2005, 7, 27), reporter=self.r)
self.a.save() self.a.save()
def test_get(self): def test_get(self):
@ -36,25 +36,25 @@ class ManyToOneTests(TestCase):
# You can also instantiate an Article by passing the Reporter's ID # You can also instantiate an Article by passing the Reporter's ID
# instead of a Reporter object. # instead of a Reporter object.
a3 = Article(id=None, headline="Third article", a3 = Article(id=None, headline="Third article",
pub_date=datetime(2005, 7, 27), reporter_id=self.r.id) pub_date=datetime.date(2005, 7, 27), reporter_id=self.r.id)
a3.save() a3.save()
self.assertEqual(a3.reporter.id, self.r.id) self.assertEqual(a3.reporter.id, self.r.id)
# Similarly, the reporter ID can be a string. # Similarly, the reporter ID can be a string.
a4 = Article(id=None, headline="Fourth article", a4 = Article(id=None, headline="Fourth article",
pub_date=datetime(2005, 7, 27), reporter_id=str(self.r.id)) pub_date=datetime.date(2005, 7, 27), reporter_id=str(self.r.id))
a4.save() a4.save()
self.assertEqual(repr(a4.reporter), "<Reporter: John Smith>") self.assertEqual(repr(a4.reporter), "<Reporter: John Smith>")
def test_add(self): def test_add(self):
# Create an Article via the Reporter object. # Create an Article via the Reporter object.
new_article = self.r.article_set.create(headline="John's second story", new_article = self.r.article_set.create(headline="John's second story",
pub_date=datetime(2005, 7, 29)) pub_date=datetime.date(2005, 7, 29))
self.assertEqual(repr(new_article), "<Article: John's second story>") self.assertEqual(repr(new_article), "<Article: John's second story>")
self.assertEqual(new_article.reporter.id, self.r.id) self.assertEqual(new_article.reporter.id, self.r.id)
# Create a new article, and add it to the article set. # Create a new article, and add it to the article set.
new_article2 = Article(headline="Paul's story", pub_date=datetime(2006, 1, 17)) new_article2 = Article(headline="Paul's story", pub_date=datetime.date(2006, 1, 17))
self.r.article_set.add(new_article2) self.r.article_set.add(new_article2)
self.assertEqual(new_article2.reporter.id, self.r.id) self.assertEqual(new_article2.reporter.id, self.r.id)
self.assertQuerysetEqual(self.r.article_set.all(), self.assertQuerysetEqual(self.r.article_set.all(),
@ -80,9 +80,9 @@ class ManyToOneTests(TestCase):
def test_assign(self): def test_assign(self):
new_article = self.r.article_set.create(headline="John's second story", new_article = self.r.article_set.create(headline="John's second story",
pub_date=datetime(2005, 7, 29)) pub_date=datetime.date(2005, 7, 29))
new_article2 = self.r2.article_set.create(headline="Paul's story", new_article2 = self.r2.article_set.create(headline="Paul's story",
pub_date=datetime(2006, 1, 17)) pub_date=datetime.date(2006, 1, 17))
# Assign the article to the reporter directly using the descriptor. # Assign the article to the reporter directly using the descriptor.
new_article2.reporter = self.r new_article2.reporter = self.r
new_article2.save() new_article2.save()
@ -118,9 +118,9 @@ class ManyToOneTests(TestCase):
def test_selects(self): def test_selects(self):
new_article = self.r.article_set.create(headline="John's second story", new_article = self.r.article_set.create(headline="John's second story",
pub_date=datetime(2005, 7, 29)) pub_date=datetime.date(2005, 7, 29))
new_article2 = self.r2.article_set.create(headline="Paul's story", new_article2 = self.r2.article_set.create(headline="Paul's story",
pub_date=datetime(2006, 1, 17)) pub_date=datetime.date(2006, 1, 17))
# Reporter objects have access to their related Article objects. # Reporter objects have access to their related Article objects.
self.assertQuerysetEqual(self.r.article_set.all(), [ self.assertQuerysetEqual(self.r.article_set.all(), [
"<Article: John's second story>", "<Article: John's second story>",
@ -237,9 +237,9 @@ class ManyToOneTests(TestCase):
def test_reverse_selects(self): def test_reverse_selects(self):
a3 = Article.objects.create(id=None, headline="Third article", a3 = Article.objects.create(id=None, headline="Third article",
pub_date=datetime(2005, 7, 27), reporter_id=self.r.id) pub_date=datetime.date(2005, 7, 27), reporter_id=self.r.id)
a4 = Article.objects.create(id=None, headline="Fourth article", a4 = Article.objects.create(id=None, headline="Fourth article",
pub_date=datetime(2005, 7, 27), reporter_id=str(self.r.id)) pub_date=datetime.date(2005, 7, 27), reporter_id=str(self.r.id))
# Reporters can be queried # Reporters can be queried
self.assertQuerysetEqual(Reporter.objects.filter(id__exact=self.r.id), self.assertQuerysetEqual(Reporter.objects.filter(id__exact=self.r.id),
["<Reporter: John Smith>"]) ["<Reporter: John Smith>"])
@ -316,33 +316,33 @@ class ManyToOneTests(TestCase):
# objects (Reporters). # objects (Reporters).
r1 = Reporter.objects.create(first_name='Mike', last_name='Royko', email='royko@suntimes.com') r1 = Reporter.objects.create(first_name='Mike', last_name='Royko', email='royko@suntimes.com')
r2 = Reporter.objects.create(first_name='John', last_name='Kass', email='jkass@tribune.com') r2 = Reporter.objects.create(first_name='John', last_name='Kass', email='jkass@tribune.com')
a1 = Article.objects.create(headline='First', pub_date=datetime(1980, 4, 23), reporter=r1) Article.objects.create(headline='First', pub_date=datetime.date(1980, 4, 23), reporter=r1)
a2 = Article.objects.create(headline='Second', pub_date=datetime(1980, 4, 23), reporter=r2) Article.objects.create(headline='Second', pub_date=datetime.date(1980, 4, 23), reporter=r2)
self.assertEqual(list(Article.objects.select_related().dates('pub_date', 'day')), self.assertEqual(list(Article.objects.select_related().dates('pub_date', 'day')),
[ [
datetime(1980, 4, 23, 0, 0), datetime.date(1980, 4, 23),
datetime(2005, 7, 27, 0, 0), datetime.date(2005, 7, 27),
]) ])
self.assertEqual(list(Article.objects.select_related().dates('pub_date', 'month')), self.assertEqual(list(Article.objects.select_related().dates('pub_date', 'month')),
[ [
datetime(1980, 4, 1, 0, 0), datetime.date(1980, 4, 1),
datetime(2005, 7, 1, 0, 0), datetime.date(2005, 7, 1),
]) ])
self.assertEqual(list(Article.objects.select_related().dates('pub_date', 'year')), self.assertEqual(list(Article.objects.select_related().dates('pub_date', 'year')),
[ [
datetime(1980, 1, 1, 0, 0), datetime.date(1980, 1, 1),
datetime(2005, 1, 1, 0, 0), datetime.date(2005, 1, 1),
]) ])
def test_delete(self): def test_delete(self):
new_article = self.r.article_set.create(headline="John's second story", new_article = self.r.article_set.create(headline="John's second story",
pub_date=datetime(2005, 7, 29)) pub_date=datetime.date(2005, 7, 29))
new_article2 = self.r2.article_set.create(headline="Paul's story", new_article2 = self.r2.article_set.create(headline="Paul's story",
pub_date=datetime(2006, 1, 17)) pub_date=datetime.date(2006, 1, 17))
a3 = Article.objects.create(id=None, headline="Third article", a3 = Article.objects.create(id=None, headline="Third article",
pub_date=datetime(2005, 7, 27), reporter_id=self.r.id) pub_date=datetime.date(2005, 7, 27), reporter_id=self.r.id)
a4 = Article.objects.create(id=None, headline="Fourth article", a4 = Article.objects.create(id=None, headline="Fourth article",
pub_date=datetime(2005, 7, 27), reporter_id=str(self.r.id)) pub_date=datetime.date(2005, 7, 27), reporter_id=str(self.r.id))
# If you delete a reporter, his articles will be deleted. # If you delete a reporter, his articles will be deleted.
self.assertQuerysetEqual(Article.objects.all(), self.assertQuerysetEqual(Article.objects.all(),
[ [
@ -383,7 +383,7 @@ class ManyToOneTests(TestCase):
# for a ForeignKey. # for a ForeignKey.
a2, created = Article.objects.get_or_create(id=None, a2, created = Article.objects.get_or_create(id=None,
headline="John's second test", headline="John's second test",
pub_date=datetime(2011, 5, 7), pub_date=datetime.date(2011, 5, 7),
reporter_id=self.r.id) reporter_id=self.r.id)
self.assertTrue(created) self.assertTrue(created)
self.assertEqual(a2.reporter.id, self.r.id) self.assertEqual(a2.reporter.id, self.r.id)
@ -398,7 +398,7 @@ class ManyToOneTests(TestCase):
# Create an Article by Paul for the same date. # Create an Article by Paul for the same date.
a3 = Article.objects.create(id=None, headline="Paul's commentary", a3 = Article.objects.create(id=None, headline="Paul's commentary",
pub_date=datetime(2011, 5, 7), pub_date=datetime.date(2011, 5, 7),
reporter_id=self.r2.id) reporter_id=self.r2.id)
self.assertEqual(a3.reporter.id, self.r2.id) self.assertEqual(a3.reporter.id, self.r2.id)
@ -407,7 +407,7 @@ class ManyToOneTests(TestCase):
Article.objects.get, reporter_id=self.r.id) Article.objects.get, reporter_id=self.r.id)
self.assertEqual(repr(a3), self.assertEqual(repr(a3),
repr(Article.objects.get(reporter_id=self.r2.id, repr(Article.objects.get(reporter_id=self.r2.id,
pub_date=datetime(2011, 5, 7)))) pub_date=datetime.date(2011, 5, 7))))
def test_manager_class_caching(self): def test_manager_class_caching(self):
r1 = Reporter.objects.create(first_name='Mike') r1 = Reporter.objects.create(first_name='Mike')
@ -425,7 +425,7 @@ class ManyToOneTests(TestCase):
email='john.smith@example.com') email='john.smith@example.com')
lazy = ugettext_lazy('test') lazy = ugettext_lazy('test')
reporter.article_set.create(headline=lazy, reporter.article_set.create(headline=lazy,
pub_date=datetime(2011, 6, 10)) pub_date=datetime.date(2011, 6, 10))
notlazy = six.text_type(lazy) notlazy = six.text_type(lazy)
article = reporter.article_set.get() article = reporter.article_set.get()
self.assertEqual(article.headline, notlazy) self.assertEqual(article.headline, notlazy)

View File

@ -42,8 +42,8 @@ class ReservedNameTests(TestCase):
self.generate() self.generate()
resp = Thing.objects.dates('where', 'year') resp = Thing.objects.dates('where', 'year')
self.assertEqual(list(resp), [ self.assertEqual(list(resp), [
datetime.datetime(2005, 1, 1, 0, 0), datetime.date(2005, 1, 1),
datetime.datetime(2006, 1, 1, 0, 0), datetime.date(2006, 1, 1),
]) ])
def test_month_filter(self): def test_month_filter(self):

View File

@ -546,8 +546,8 @@ class AggregationTests(TestCase):
qs = Book.objects.annotate(num_authors=Count('authors')).filter(num_authors=2).dates('pubdate', 'day') qs = Book.objects.annotate(num_authors=Count('authors')).filter(num_authors=2).dates('pubdate', 'day')
self.assertQuerysetEqual( self.assertQuerysetEqual(
qs, [ qs, [
datetime.datetime(1995, 1, 15, 0, 0), datetime.date(1995, 1, 15),
datetime.datetime(2007, 12, 6, 0, 0) datetime.date(2007, 12, 6),
], ],
lambda b: b lambda b: b
) )

View File

@ -144,7 +144,7 @@ class DateQuotingTest(TestCase):
updated = datetime.datetime(2010, 2, 20) updated = datetime.datetime(2010, 2, 20)
models.SchoolClass.objects.create(year=2009, last_updated=updated) models.SchoolClass.objects.create(year=2009, last_updated=updated)
years = models.SchoolClass.objects.dates('last_updated', 'year') years = models.SchoolClass.objects.dates('last_updated', 'year')
self.assertEqual(list(years), [datetime.datetime(2010, 1, 1, 0, 0)]) self.assertEqual(list(years), [datetime.date(2010, 1, 1)])
def test_django_date_extract(self): def test_django_date_extract(self):
""" """

View File

@ -166,8 +166,9 @@ class ExtraRegressTests(TestCase):
) )
self.assertQuerysetEqual( self.assertQuerysetEqual(
RevisionableModel.objects.extra(select={"the_answer": 'id'}).dates('when', 'month'), RevisionableModel.objects.extra(select={"the_answer": 'id'}).datetimes('when', 'month'),
['datetime.datetime(2008, 9, 1, 0, 0)'] [datetime.datetime(2008, 9, 1, 0, 0)],
transform=lambda d: d,
) )
def test_values_with_extra(self): def test_values_with_extra(self):

View File

@ -141,7 +141,7 @@ class YearArchiveViewTests(TestCase):
def test_year_view(self): def test_year_view(self):
res = self.client.get('/dates/books/2008/') res = self.client.get('/dates/books/2008/')
self.assertEqual(res.status_code, 200) self.assertEqual(res.status_code, 200)
self.assertEqual(list(res.context['date_list']), [datetime.datetime(2008, 10, 1)]) self.assertEqual(list(res.context['date_list']), [datetime.date(2008, 10, 1)])
self.assertEqual(res.context['year'], datetime.date(2008, 1, 1)) self.assertEqual(res.context['year'], datetime.date(2008, 1, 1))
self.assertTemplateUsed(res, 'generic_views/book_archive_year.html') self.assertTemplateUsed(res, 'generic_views/book_archive_year.html')
@ -152,7 +152,7 @@ class YearArchiveViewTests(TestCase):
def test_year_view_make_object_list(self): def test_year_view_make_object_list(self):
res = self.client.get('/dates/books/2006/make_object_list/') res = self.client.get('/dates/books/2006/make_object_list/')
self.assertEqual(res.status_code, 200) self.assertEqual(res.status_code, 200)
self.assertEqual(list(res.context['date_list']), [datetime.datetime(2006, 5, 1)]) self.assertEqual(list(res.context['date_list']), [datetime.date(2006, 5, 1)])
self.assertEqual(list(res.context['book_list']), list(Book.objects.filter(pubdate__year=2006))) self.assertEqual(list(res.context['book_list']), list(Book.objects.filter(pubdate__year=2006)))
self.assertEqual(list(res.context['object_list']), list(Book.objects.filter(pubdate__year=2006))) self.assertEqual(list(res.context['object_list']), list(Book.objects.filter(pubdate__year=2006)))
self.assertTemplateUsed(res, 'generic_views/book_archive_year.html') self.assertTemplateUsed(res, 'generic_views/book_archive_year.html')
@ -182,7 +182,7 @@ class YearArchiveViewTests(TestCase):
res = self.client.get('/dates/books/%s/allow_future/' % year) res = self.client.get('/dates/books/%s/allow_future/' % year)
self.assertEqual(res.status_code, 200) self.assertEqual(res.status_code, 200)
self.assertEqual(list(res.context['date_list']), [datetime.datetime(year, 1, 1)]) self.assertEqual(list(res.context['date_list']), [datetime.date(year, 1, 1)])
def test_year_view_paginated(self): def test_year_view_paginated(self):
res = self.client.get('/dates/books/2006/paginated/') res = self.client.get('/dates/books/2006/paginated/')
@ -227,7 +227,7 @@ class MonthArchiveViewTests(TestCase):
res = self.client.get('/dates/books/2008/oct/') res = self.client.get('/dates/books/2008/oct/')
self.assertEqual(res.status_code, 200) self.assertEqual(res.status_code, 200)
self.assertTemplateUsed(res, 'generic_views/book_archive_month.html') self.assertTemplateUsed(res, 'generic_views/book_archive_month.html')
self.assertEqual(list(res.context['date_list']), [datetime.datetime(2008, 10, 1)]) self.assertEqual(list(res.context['date_list']), [datetime.date(2008, 10, 1)])
self.assertEqual(list(res.context['book_list']), self.assertEqual(list(res.context['book_list']),
list(Book.objects.filter(pubdate=datetime.date(2008, 10, 1)))) list(Book.objects.filter(pubdate=datetime.date(2008, 10, 1))))
self.assertEqual(res.context['month'], datetime.date(2008, 10, 1)) self.assertEqual(res.context['month'], datetime.date(2008, 10, 1))
@ -270,7 +270,7 @@ class MonthArchiveViewTests(TestCase):
# allow_future = True, valid future month # allow_future = True, valid future month
res = self.client.get('/dates/books/%s/allow_future/' % urlbit) res = self.client.get('/dates/books/%s/allow_future/' % urlbit)
self.assertEqual(res.status_code, 200) self.assertEqual(res.status_code, 200)
self.assertEqual(res.context['date_list'][0].date(), b.pubdate) self.assertEqual(res.context['date_list'][0], b.pubdate)
self.assertEqual(list(res.context['book_list']), [b]) self.assertEqual(list(res.context['book_list']), [b])
self.assertEqual(res.context['month'], future) self.assertEqual(res.context['month'], future)

View File

@ -134,8 +134,8 @@ class ModelInheritanceTest(TestCase):
obj = Child.objects.create( obj = Child.objects.create(
name='child', name='child',
created=datetime.datetime(2008, 6, 26, 17, 0, 0)) created=datetime.datetime(2008, 6, 26, 17, 0, 0))
dates = list(Child.objects.dates('created', 'month')) datetimes = list(Child.objects.datetimes('created', 'month'))
self.assertEqual(dates, [datetime.datetime(2008, 6, 1, 0, 0)]) self.assertEqual(datetimes, [datetime.datetime(2008, 6, 1, 0, 0)])
def test_issue_7276(self): def test_issue_7276(self):
# Regression test for #7276: calling delete() on a model with # Regression test for #7276: calling delete() on a model with

View File

@ -550,37 +550,37 @@ class Queries1Tests(BaseQuerysetTest):
def test_tickets_6180_6203(self): def test_tickets_6180_6203(self):
# Dates with limits and/or counts # Dates with limits and/or counts
self.assertEqual(Item.objects.count(), 4) self.assertEqual(Item.objects.count(), 4)
self.assertEqual(Item.objects.dates('created', 'month').count(), 1) self.assertEqual(Item.objects.datetimes('created', 'month').count(), 1)
self.assertEqual(Item.objects.dates('created', 'day').count(), 2) self.assertEqual(Item.objects.datetimes('created', 'day').count(), 2)
self.assertEqual(len(Item.objects.dates('created', 'day')), 2) self.assertEqual(len(Item.objects.datetimes('created', 'day')), 2)
self.assertEqual(Item.objects.dates('created', 'day')[0], datetime.datetime(2007, 12, 19, 0, 0)) self.assertEqual(Item.objects.datetimes('created', 'day')[0], datetime.datetime(2007, 12, 19, 0, 0))
def test_tickets_7087_12242(self): def test_tickets_7087_12242(self):
# Dates with extra select columns # Dates with extra select columns
self.assertQuerysetEqual( self.assertQuerysetEqual(
Item.objects.dates('created', 'day').extra(select={'a': 1}), Item.objects.datetimes('created', 'day').extra(select={'a': 1}),
['datetime.datetime(2007, 12, 19, 0, 0)', 'datetime.datetime(2007, 12, 20, 0, 0)'] ['datetime.datetime(2007, 12, 19, 0, 0)', 'datetime.datetime(2007, 12, 20, 0, 0)']
) )
self.assertQuerysetEqual( self.assertQuerysetEqual(
Item.objects.extra(select={'a': 1}).dates('created', 'day'), Item.objects.extra(select={'a': 1}).datetimes('created', 'day'),
['datetime.datetime(2007, 12, 19, 0, 0)', 'datetime.datetime(2007, 12, 20, 0, 0)'] ['datetime.datetime(2007, 12, 19, 0, 0)', 'datetime.datetime(2007, 12, 20, 0, 0)']
) )
name="one" name="one"
self.assertQuerysetEqual( self.assertQuerysetEqual(
Item.objects.dates('created', 'day').extra(where=['name=%s'], params=[name]), Item.objects.datetimes('created', 'day').extra(where=['name=%s'], params=[name]),
['datetime.datetime(2007, 12, 19, 0, 0)'] ['datetime.datetime(2007, 12, 19, 0, 0)']
) )
self.assertQuerysetEqual( self.assertQuerysetEqual(
Item.objects.extra(where=['name=%s'], params=[name]).dates('created', 'day'), Item.objects.extra(where=['name=%s'], params=[name]).datetimes('created', 'day'),
['datetime.datetime(2007, 12, 19, 0, 0)'] ['datetime.datetime(2007, 12, 19, 0, 0)']
) )
def test_ticket7155(self): def test_ticket7155(self):
# Nullable dates # Nullable dates
self.assertQuerysetEqual( self.assertQuerysetEqual(
Item.objects.dates('modified', 'day'), Item.objects.datetimes('modified', 'day'),
['datetime.datetime(2007, 12, 19, 0, 0)'] ['datetime.datetime(2007, 12, 19, 0, 0)']
) )
@ -699,7 +699,7 @@ class Queries1Tests(BaseQuerysetTest):
) )
# Pickling of DateQuerySets used to fail # Pickling of DateQuerySets used to fail
qs = Item.objects.dates('created', 'month') qs = Item.objects.datetimes('created', 'month')
_ = pickle.loads(pickle.dumps(qs)) _ = pickle.loads(pickle.dumps(qs))
def test_ticket9997(self): def test_ticket9997(self):
@ -1235,8 +1235,8 @@ class Queries3Tests(BaseQuerysetTest):
# field # field
self.assertRaisesMessage( self.assertRaisesMessage(
AssertionError, AssertionError,
"'name' isn't a DateField.", "'name' isn't a DateTimeField.",
Item.objects.dates, 'name', 'month' Item.objects.datetimes, 'name', 'month'
) )
class Queries4Tests(BaseQuerysetTest): class Queries4Tests(BaseQuerysetTest):