Skip to content

Instantly share code, notes, and snippets.

@dp-quant
Created April 4, 2019 10:29
Show Gist options
  • Save dp-quant/8a9081aa3af59d8fbd7e84dac8e397f0 to your computer and use it in GitHub Desktop.
Save dp-quant/8a9081aa3af59d8fbd7e84dac8e397f0 to your computer and use it in GitHub Desktop.
from django.test import TestCase, mock
from django.conf import settings
from django.apps import apps
import datetime
from ..constants import STATUS_CHOICES
class AccountModelTestCase(TestCase):
TEST_USERNAME = 'test_user'
TEST_EMAIL = '[email protected]'
TEST_NOW = datetime.datetime(2018, 9, 3, 11, 15, 0)
def test_auth_model(self):
self.assertIsNotNone(getattr(settings, 'AUTH_USER_MODEL', None))
self.assertIsNotNone(apps.get_model(settings.AUTH_USER_MODEL))
@mock.patch('django.utils.timezone.now', return_value=TEST_NOW)
def test_model(self, mocked_value):
account_cls = apps.get_model(settings.AUTH_USER_MODEL)
account = account_cls.objects.create(username=AccountModelTestCase.TEST_USERNAME,
email=AccountModelTestCase.TEST_EMAIL,
password='123@#4SDf@4SDF234')
self.assertIsNotNone(account)
self.assertEquals(account.email, AccountModelTestCase.TEST_EMAIL)
self.assertEquals(account.username, AccountModelTestCase.TEST_USERNAME)
self.assertIsNotNone(account.password)
self.assertNotEquals(account.is_verified, True)
self.assertEquals(account.status, STATUS_CHOICES.active)
self.assertIsNone(account.last_login)
self.assertNotEquals(account.is_admin, True)
self.assertNotEquals(account.is_staff, True)
self.assertEquals(account.get_short_name(), AccountModelTestCase.TEST_USERNAME)
self.assertEquals(mocked_value.return_value, AccountModelTestCase.TEST_NOW)
self.assertEquals(account.created_at, AccountModelTestCase.TEST_NOW)
self.assertEquals(account.get_username(), AccountModelTestCase.TEST_USERNAME)
self.assertEquals(account.natural_key(), (AccountModelTestCase.TEST_USERNAME,))
self.assertIsNotNone(account.USERNAME_FIELD)
self.assertIsNotNone(account.REQUIRED_FIELDS)
# and can check more
# but for sure lets just check expected default values
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment