New Model tests
This commit is contained in:
parent
6be060ea40
commit
38b3736951
@ -0,0 +1,55 @@
|
||||
from django.test import TestCase
|
||||
from django.db import models
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
from lostplaces_app.models import Explorer
|
||||
from lostplaces_app.tests import mock_user
|
||||
|
||||
class ExplorerTestCase(TestCase):
|
||||
|
||||
def setUp(self):
|
||||
mock_user()
|
||||
|
||||
def test_epxlorer_creation(self):
|
||||
'''
|
||||
Tests if the explorer profile will be automticly
|
||||
created when a user is created
|
||||
'''
|
||||
|
||||
user = User.objects.get(id=1)
|
||||
explorer_list = Explorer.objects.all()
|
||||
self.assertTrue(len(explorer_list) > 0,
|
||||
msg='Expecting at least one Exlorer object, none found'
|
||||
)
|
||||
self.assertTrue(hasattr(user, 'explorer'),
|
||||
msg='''Expecting the User instance to have an \'explorer\' attribute.
|
||||
Check the Explorer model and the related name.'''
|
||||
)
|
||||
|
||||
explorer = Explorer.objects.get(id=1)
|
||||
self.assertEqual(explorer, user.explorer,
|
||||
msg='''The Explorer object of the User did not match.
|
||||
Expecting User with id 1 to have Explorer with id 1'''
|
||||
)
|
||||
|
||||
explorer = Explorer.objects.get(id=1)
|
||||
self.assertEqual(explorer.user, user,
|
||||
msg='''The User object of the Explorer did not match.
|
||||
Expecting Explorer with id 1 to have User with id 1'''
|
||||
)
|
||||
|
||||
def test_explorer_deletion(self):
|
||||
'''
|
||||
Tests if the Explorer objects get's deleted when the User instance is deleted
|
||||
'''
|
||||
|
||||
user = User.objects.get(id=1)
|
||||
explorer_id = user.explorer.id
|
||||
user.delete()
|
||||
with self.assertRaises(models.ObjectDoesNotExist,
|
||||
msg='Expecting explorer objec to be deleted when the corresponding User object is deleted'
|
||||
):
|
||||
Explorer.objects.get(id=explorer_id)
|
||||
|
||||
|
||||
|
51
lostplaces/lostplaces_app/tests/models/test_voucher_model.py
Normal file
51
lostplaces/lostplaces_app/tests/models/test_voucher_model.py
Normal file
@ -0,0 +1,51 @@
|
||||
import datetime
|
||||
|
||||
from django.test import TestCase
|
||||
from django.db import models
|
||||
|
||||
from lostplaces_app.models import Voucher
|
||||
from lostplaces_app.tests.models import ModelTestCase
|
||||
|
||||
|
||||
def mock_voucher():
|
||||
return Voucher.objects.create(
|
||||
code='ayDraJCCwfhcFiYmSR5GrcjcchDfcahv',
|
||||
expires=datetime.datetime.now() + datetime.timedelta(days=1)
|
||||
)
|
||||
|
||||
|
||||
class VoucheTestCase(ModelTestCase, TestCase):
|
||||
model_name = 'Voucher'
|
||||
|
||||
def setUp(self):
|
||||
self.object = mock_voucher()
|
||||
|
||||
def test_voucher_code(self):
|
||||
self._test_char_field(
|
||||
'code',
|
||||
10,
|
||||
100,
|
||||
must_have={'unique': True}
|
||||
)
|
||||
|
||||
def test_voucher_created(self):
|
||||
self._test_field(
|
||||
'created_when',
|
||||
models.DateTimeField,
|
||||
must_have={'auto_now_add': True}
|
||||
)
|
||||
|
||||
def test_voucher_expires(self):
|
||||
self._test_field(
|
||||
'expires_when',
|
||||
models.DateTimeField,
|
||||
must_not_have={'auto_now_add': True}
|
||||
)
|
||||
|
||||
def test_str(self):
|
||||
voucher = self.object
|
||||
self.assertTrue(voucher.code.lower() in str(voucher).lower(),
|
||||
msg='Expecting %s.__str__ to contain the voucher code' % (
|
||||
self.model_name
|
||||
)
|
||||
)
|
Loading…
Reference in New Issue
Block a user