| 1 | | # coding: utf-8 |
|---|
| 2 | | from django.test import TestCase |
|---|
| 3 | | from datetime import datetime |
|---|
| 4 | | from datetime import timedelta |
|---|
| 5 | | from regressiontests.views.models import Article, Author |
|---|
| | 1 | # coding: utf-8 |
|---|
| | 2 | from django.test import TestCase |
|---|
| | 3 | from datetime import datetime |
|---|
| | 4 | from datetime import timedelta |
|---|
| | 5 | from regressiontests.views.models import Article, Author, DateArticle |
|---|
| 17 | | response = self.client.get('/views/date_based/object_detail/2001/01/01/old_article/') |
|---|
| 18 | | self.assertEqual(response.status_code, 200) |
|---|
| 19 | | self.assertEqual(response.context['object'].title, "Old Article") |
|---|
| 20 | | |
|---|
| 21 | | def test_object_detail_finds_today(self): |
|---|
| | 17 | response = self.client.get('/views/date_based/object_detail/2001/01/01/old_article/') |
|---|
| | 18 | self.assertEqual(response.status_code, 200) |
|---|
| | 19 | self.assertEqual(response.context['object'].title, "Old Article") |
|---|
| | 20 | |
|---|
| | 21 | def test_object_detail_finds_today(self): |
|---|
| 23 | | today_url = datetime.now().strftime('%Y/%m/%d') |
|---|
| 24 | | response = self.client.get('/views/date_based/object_detail/%s/current_article/' % today_url) |
|---|
| 25 | | self.assertEqual(response.status_code, 200) |
|---|
| 26 | | self.assertEqual(response.context['object'].title, "Current Article") |
|---|
| 27 | | |
|---|
| 28 | | def test_object_detail_ignores_future(self): |
|---|
| | 23 | today_url = datetime.now().strftime('%Y/%m/%d') |
|---|
| | 24 | response = self.client.get('/views/date_based/object_detail/%s/current_article/' % today_url) |
|---|
| | 25 | self.assertEqual(response.status_code, 200) |
|---|
| | 26 | self.assertEqual(response.context['object'].title, "Current Article") |
|---|
| | 27 | |
|---|
| | 28 | def test_object_detail_ignores_future(self): |
|---|
| 36 | | self.assertEqual(response.status_code, 200) |
|---|
| 37 | | self.assertEqual(response.context['object'].title, "Future Article") |
|---|
| 38 | | |
|---|
| 39 | | class MonthArchiveTest(TestCase): |
|---|
| 40 | | def test_archive_month_includes_only_month(self): |
|---|
| | 36 | self.assertEqual(response.status_code, 200) |
|---|
| | 37 | self.assertEqual(response.context['object'].title, "Future Article") |
|---|
| | 38 | |
|---|
| | 39 | class MonthArchiveTest(TestCase): |
|---|
| | 40 | def test_archive_month_includes_only_month(self): |
|---|
| 45 | | # 2004 was a leap year, so it should be weird enough to not cheat |
|---|
| 46 | | first_second_of_feb = datetime(2004, 2, 1, 0, 0, 1) |
|---|
| 47 | | first_second_of_mar = datetime(2004, 3, 1, 0, 0, 1) |
|---|
| 48 | | two_seconds = timedelta(0, 2, 0) |
|---|
| 49 | | article = Article(title="example", author=author) |
|---|
| | 45 | # 2004 was a leap year, so it should be weird enough to not cheat |
|---|
| | 46 | first_second_of_feb = datetime(2004, 2, 1, 0, 0, 1) |
|---|
| | 47 | first_second_of_mar = datetime(2004, 3, 1, 0, 0, 1) |
|---|
| | 48 | two_seconds = timedelta(0, 2, 0) |
|---|
| | 49 | article = Article(title="example", author=author) |
|---|
| 51 | | article.date_created = first_second_of_feb |
|---|
| 52 | | article.save() |
|---|
| 53 | | response = self.client.get('/views/date_based/archive_month/2004/02/') |
|---|
| 54 | | self.assertEqual(response.status_code, 200) |
|---|
| 55 | | |
|---|
| 56 | | article.date_created = first_second_of_feb-two_seconds |
|---|
| 57 | | article.save() |
|---|
| 58 | | response = self.client.get('/views/date_based/archive_month/2004/02/') |
|---|
| 59 | | self.assertEqual(response.status_code, 404) |
|---|
| | 51 | article.date_created = first_second_of_feb |
|---|
| | 52 | article.save() |
|---|
| | 53 | response = self.client.get('/views/date_based/archive_month/2004/02/') |
|---|
| | 54 | self.assertEqual(response.status_code, 200) |
|---|
| 66 | | article.date_created = first_second_of_mar |
|---|
| 67 | | article.save() |
|---|
| 68 | | response = self.client.get('/views/date_based/archive_month/2004/02/') |
|---|
| 69 | | self.assertEqual(response.status_code, 404) |
|---|
| 70 | | |
|---|
| 71 | | |
|---|
| | 61 | article.date_created = first_second_of_mar-two_seconds |
|---|
| | 62 | article.save() |
|---|
| | 63 | response = self.client.get('/views/date_based/archive_month/2004/02/') |
|---|
| | 64 | self.assertEqual(response.status_code, 200) |
|---|
| | 65 | |
|---|
| | 66 | article.date_created = first_second_of_mar |
|---|
| | 67 | article.save() |
|---|
| | 68 | response = self.client.get('/views/date_based/archive_month/2004/02/') |
|---|
| | 69 | self.assertEqual(response.status_code, 404) |
|---|
| | 70 | |
|---|
| | 71 | article2 = DateArticle(title="example", author=author) |
|---|
| | 72 | |
|---|
| | 73 | article2.date_created = first_second_of_feb.date() |
|---|
| | 74 | article2.save() |
|---|
| | 75 | response = self.client.get('/views/date_based/datefield/archive_month/2004/02/') |
|---|
| | 76 | self.assertEqual(response.status_code, 200) |
|---|
| | 77 | |
|---|
| | 78 | article2.date_created = (first_second_of_feb-two_seconds).date() |
|---|
| | 79 | article2.save() |
|---|
| | 80 | response = self.client.get('/views/date_based/datefield/archive_month/2004/02/') |
|---|
| | 81 | self.assertEqual(response.status_code, 404) |
|---|
| | 82 | |
|---|
| | 83 | article2.date_created = (first_second_of_mar-two_seconds).date() |
|---|
| | 84 | article2.save() |
|---|
| | 85 | response = self.client.get('/views/date_based/datefield/archive_month/2004/02/') |
|---|
| | 86 | self.assertEqual(response.status_code, 200) |
|---|
| | 87 | |
|---|
| | 88 | article2.date_created = first_second_of_mar.date() |
|---|
| | 89 | article2.save() |
|---|
| | 90 | response = self.client.get('/views/date_based/datefield/archive_month/2004/02/') |
|---|
| | 91 | self.assertEqual(response.status_code, 404) |
|---|
| | 92 | |
|---|