|
| 1 | +import datetime |
| 2 | + |
| 3 | +from django.test import TestCase |
| 4 | + |
| 5 | +from models import Thing |
| 6 | + |
| 7 | +class ReservedNameTests(TestCase): |
| 8 | + def generate(self): |
| 9 | + day1 = datetime.date(2005, 1, 1) |
| 10 | + t = Thing.objects.create(when='a', join='b', like='c', drop='d', |
| 11 | + alter='e', having='f', where=day1, has_hyphen='h') |
| 12 | + day2 = datetime.date(2006, 2, 2) |
| 13 | + u = Thing.objects.create(when='h', join='i', like='j', drop='k', |
| 14 | + alter='l', having='m', where=day2) |
| 15 | + |
| 16 | + def test_simple(self): |
| 17 | + day1 = datetime.date(2005, 1, 1) |
| 18 | + t = Thing.objects.create(when='a', join='b', like='c', drop='d', |
| 19 | + alter='e', having='f', where=day1, has_hyphen='h') |
| 20 | + self.assertEqual(t.when, 'a') |
| 21 | + |
| 22 | + day2 = datetime.date(2006, 2, 2) |
| 23 | + u = Thing.objects.create(when='h', join='i', like='j', drop='k', |
| 24 | + alter='l', having='m', where=day2) |
| 25 | + self.assertEqual(u.when, 'h') |
| 26 | + |
| 27 | + def test_order_by(self): |
| 28 | + self.generate() |
| 29 | + things = [t.when for t in Thing.objects.order_by('when')] |
| 30 | + self.assertEqual(things, ['a', 'h']) |
| 31 | + |
| 32 | + def test_fields(self): |
| 33 | + self.generate() |
| 34 | + v = Thing.objects.get(pk='a') |
| 35 | + self.assertEqual(v.join, 'b') |
| 36 | + self.assertEqual(v.where, datetime.date(year=2005, month=1, day=1)) |
| 37 | + |
| 38 | + def test_dates(self): |
| 39 | + self.generate() |
| 40 | + resp = Thing.objects.dates('where', 'year') |
| 41 | + self.assertEqual(list(resp), [ |
| 42 | + datetime.datetime(2005, 1, 1, 0, 0), |
| 43 | + datetime.datetime(2006, 1, 1, 0, 0), |
| 44 | + ]) |
| 45 | + |
| 46 | + def test_month_filter(self): |
| 47 | + self.generate() |
| 48 | + self.assertEqual(Thing.objects.filter(where__month=1)[0].when, 'a') |
0 commit comments