1st commit

This commit is contained in:
2026-05-25 19:45:43 -03:00
commit 55087c8278
44 changed files with 1522 additions and 0 deletions

44
polls/tests.py Normal file
View File

@@ -0,0 +1,44 @@
from django.contrib.auth import authenticate
from django.contrib.auth.models import User
from django.test import TestCase
from django.utils import timezone
from .models import Poll, Vote
class PollModelTest(TestCase):
def test_user_can_vote(self):
user = User.objects.create_user('john')
poll = Poll.objects.create(owner=user)
self.assertTrue(poll.user_can_vote(user))
choice = poll.choice_set.create(choice_text='pizza')
Vote.objects.create(user=user, poll=poll, choice=choice)
self.assertFalse(poll.user_can_vote(user))
class PollViewTest(TestCase):
def test_home(self):
response = self.client.get('/')
self.assertEqual(response.status_code, 200)
def test_login(self):
User.objects.create_user(username='john', password='rambo')
response = self.client.post(
'/accounts/login/', {'username': 'john', 'password': 'rambo'}
)
self.assertRedirects(response, '/')
def test_register(self):
response = self.client.post(
'/accounts/register/',
{
'username': 'johny',
'password1': 'rambo',
'password2': 'rambo',
'email': 'johny.rambo@usarmy.gov',
},
)
self.assertRedirects(response, '/accounts/login/')
# assert that user got actually created in the backend
self.assertIsNotNone(authenticate(username='johny', password='rambo'))