Files
caminus/local/tests.py
2012-03-10 20:54:05 -05:00

78 lines
3.0 KiB
Python

from django.test import TestCase
from django.contrib.auth.models import User
from django.test.client import Client
from django.core.urlresolvers import reverse
from django.core import mail
import models
class InviteUseTest(TestCase):
def setUp(self):
self.client = Client()
self.user = User.objects.create_user('ValidUsername', 'test@example.com')
self.user.save()
self.invite = models.Invite()
self.invite.creator = self.user
self.invite.save()
def tearDown(self):
self.invite.delete()
self.user.delete()
def testTryBadInvite(self):
resp = self.client.get(reverse('local.views.claimInvite', kwargs={'code':self.invite.code+"-invalid"}), follow=True)
self.assertEqual(404, resp.status_code)
def testTryToReuseInvite(self):
self.invite.claimer = self.user
self.invite.save()
resp = self.client.get(reverse('local.views.claimInvite', kwargs={'code':self.invite.code}), follow=True)
self.assertEqual(404, resp.status_code)
def testTryToUseDeletedInvite(self):
self.invite.deleted = True
self.invite.save()
resp = self.client.get(reverse('local.views.claimInvite', kwargs={'code':self.invite.code}), follow=True)
self.assertEqual(404, resp.status_code)
def testUseInvite(self):
resp = self.client.get(reverse('local.views.claimInvite', kwargs={'code':self.invite.code}), follow=True)
self.assertEqual(200, resp.status_code)
def testRegisterViaInvite(self):
resp = self.client.get(reverse('local.views.claimInvite', kwargs={'code':self.invite.code}), follow=True)
self.assertEqual(200, resp.status_code)
data = {}
data['user-username'] = 'TestUser'
data['user-password'] = 'abcd'
data['user-password_confirm'] = 'abcd'
data['user-email'] = 'email@example.com'
data['profile-mc_username'] = 'Testificate'
resp = self.client.post(reverse('local.views.register' ), data)
self.assertEqual(len(mail.outbox), 1)
class InviteManageTest(TestCase):
def setUp(self):
self.client = Client()
self.user = User.objects.create_user('ValidUsername', 'test@example.com', 'password')
self.user.save()
self.client.login(username='ValidUsername', password='password')
def tearDown(self):
self.user.delete()
def testCreateMaxInvites(self):
for i in range(0, 100):
self.client.get(reverse('local.views.createInvite'))
self.assertEqual(len(self.user.invites.all()), 2)
def testDeleteInvites(self):
self.client.get(reverse('local.views.createInvite'))
self.client.post(reverse('local.views.deleteInvite', kwargs={'code':self.user.invites.all()[0]}))
self.assertEqual(len(self.user.invites.exclude(deleted=True)), 0)
class AccountCreationTest(TestCase):
def testCreation(self):
user = User.objects.create_user('ValidUser', 'test@example.com')
self.assertIsNotNone(user.minecraftprofile.currencyaccount)
user.delete()