Skip to content

Commit 45dbaeb

Browse files
committed
Added model tests.
1 parent f273290 commit 45dbaeb

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

polls/tests/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
from polls.tests.forms import *
2+
from polls.tests.models import *
23
from polls.tests.views import *

polls/tests/models.py

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
import datetime
2+
from django.test import TestCase
3+
from polls.models import Poll, Choice
4+
5+
6+
class PollTestCase(TestCase):
7+
fixtures = ['polls_forms_testdata.json']
8+
9+
def setUp(self):
10+
super(PollTestCase, self).setUp()
11+
self.poll_1 = Poll.objects.get(pk=1)
12+
self.poll_2 = Poll.objects.get(pk=2)
13+
14+
def test_was_published_today(self):
15+
# Because unless you're timetraveling, they weren't.
16+
self.assertFalse(self.poll_1.was_published_today())
17+
self.assertFalse(self.poll_2.was_published_today())
18+
19+
# Modify & check again.
20+
now = datetime.datetime.now()
21+
self.poll_1.pub_date = now
22+
self.poll_1.save()
23+
self.assertTrue(self.poll_1.was_published_today())
24+
25+
26+
class ChoiceTestCase(TestCase):
27+
fixtures = ['polls_forms_testdata.json']
28+
29+
def test_record_vote(self):
30+
choice_1 = Choice.objects.get(pk=1)
31+
choice_2 = Choice.objects.get(pk=2)
32+
33+
self.assertEqual(Choice.objects.get(pk=1).votes, 1)
34+
self.assertEqual(Choice.objects.get(pk=2).votes, 0)
35+
36+
choice_1.record_vote()
37+
self.assertEqual(Choice.objects.get(pk=1).votes, 2)
38+
self.assertEqual(Choice.objects.get(pk=2).votes, 0)
39+
40+
choice_2.record_vote()
41+
self.assertEqual(Choice.objects.get(pk=1).votes, 2)
42+
self.assertEqual(Choice.objects.get(pk=2).votes, 1)
43+
44+
choice_1.record_vote()
45+
self.assertEqual(Choice.objects.get(pk=1).votes, 3)
46+
self.assertEqual(Choice.objects.get(pk=2).votes, 1)

0 commit comments

Comments
 (0)