/tests/regressiontests/dates/tests.py
https://code.google.com/p/mango-py/ · Python · 81 lines · 74 code · 7 blank · 0 comment · 0 complexity · ce03898d9efe01389f4f382a56619f97 MD5 · raw file
- from datetime import datetime
- from django.test import TestCase
- from models import Article, Comment, Category
- class DatesTests(TestCase):
- def test_related_model_traverse(self):
- a1 = Article.objects.create(
- title="First one",
- pub_date=datetime(2005, 7, 28),
- )
- a2 = Article.objects.create(
- title="Another one",
- pub_date=datetime(2010, 7, 28),
- )
- a3 = Article.objects.create(
- title="Third one, in the first day",
- pub_date=datetime(2005, 7, 28),
- )
- a1.comments.create(
- text="Im the HULK!",
- pub_date=datetime(2005, 7, 28),
- )
- a1.comments.create(
- text="HULK SMASH!",
- pub_date=datetime(2005, 7, 29),
- )
- a2.comments.create(
- text="LMAO",
- pub_date=datetime(2010, 7, 28),
- )
- a3.comments.create(
- text="+1",
- pub_date=datetime(2005, 8, 29),
- )
- c = Category.objects.create(name="serious-news")
- c.articles.add(a1, a3)
- self.assertQuerysetEqual(
- Comment.objects.dates("article__pub_date", "year"), [
- datetime(2005, 1, 1),
- datetime(2010, 1, 1),
- ],
- lambda d: d,
- )
- self.assertQuerysetEqual(
- Comment.objects.dates("article__pub_date", "month"), [
- datetime(2005, 7, 1),
- datetime(2010, 7, 1),
- ],
- lambda d: d
- )
- self.assertQuerysetEqual(
- Comment.objects.dates("article__pub_date", "day"), [
- datetime(2005, 7, 28),
- datetime(2010, 7, 28),
- ],
- lambda d: d
- )
- self.assertQuerysetEqual(
- Article.objects.dates("comments__pub_date", "day"), [
- datetime(2005, 7, 28),
- datetime(2005, 7, 29),
- datetime(2005, 8, 29),
- datetime(2010, 7, 28),
- ],
- lambda d: d
- )
- self.assertQuerysetEqual(
- Article.objects.dates("comments__approval_date", "day"), []
- )
- self.assertQuerysetEqual(
- Category.objects.dates("articles__pub_date", "day"), [
- datetime(2005, 7, 28),
- ],
- lambda d: d,
- )