Arthur de Jong

Open Source / Free Software developer

summaryrefslogtreecommitdiffstats
path: root/tests/reserved_names/tests.py
blob: 99f2b4befe5c3b3fbf5fc4674b2a828b08eefbfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
from __future__ import unicode_literals

import datetime

from django.test import TestCase

from .models import Thing


class ReservedNameTests(TestCase):
    def generate(self):
        day1 = datetime.date(2005, 1, 1)
        Thing.objects.create(when='a', join='b', like='c', drop='d',
            alter='e', having='f', where=day1, has_hyphen='h')
        day2 = datetime.date(2006, 2, 2)
        Thing.objects.create(when='h', join='i', like='j', drop='k',
            alter='l', having='m', where=day2)

    def test_simple(self):
        day1 = datetime.date(2005, 1, 1)
        t = Thing.objects.create(when='a', join='b', like='c', drop='d',
            alter='e', having='f', where=day1, has_hyphen='h')
        self.assertEqual(t.when, 'a')

        day2 = datetime.date(2006, 2, 2)
        u = Thing.objects.create(when='h', join='i', like='j', drop='k',
            alter='l', having='m', where=day2)
        self.assertEqual(u.when, 'h')

    def test_order_by(self):
        self.generate()
        things = [t.when for t in Thing.objects.order_by('when')]
        self.assertEqual(things, ['a', 'h'])

    def test_fields(self):
        self.generate()
        v = Thing.objects.get(pk='a')
        self.assertEqual(v.join, 'b')
        self.assertEqual(v.where, datetime.date(year=2005, month=1, day=1))

    def test_dates(self):
        self.generate()
        resp = Thing.objects.dates('where', 'year')
        self.assertEqual(list(resp), [
            datetime.date(2005, 1, 1),
            datetime.date(2006, 1, 1),
        ])

    def test_month_filter(self):
        self.generate()
        self.assertEqual(Thing.objects.filter(where__month=1)[0].when, 'a')