bgneal@1213
|
1 """
|
bgneal@1213
|
2 Tests for accounts.utils module.
|
bgneal@1213
|
3
|
bgneal@1213
|
4 """
|
bgneal@1213
|
5 from datetime import datetime, timedelta
|
bgneal@1213
|
6
|
bgneal@1213
|
7 from django.contrib.auth.models import User
|
bgneal@1213
|
8 from django.test import TestCase
|
bgneal@1213
|
9 from mock import call, patch, Mock
|
bgneal@1213
|
10
|
bgneal@1213
|
11 from accounts.models import PendingUser
|
bgneal@1213
|
12 from accounts.utils import create_new_user
|
bgneal@1213
|
13
|
bgneal@1213
|
14
|
bgneal@1213
|
15 class AccountUtilsTestCase(TestCase):
|
bgneal@1213
|
16 fixtures = ['accounts.json']
|
bgneal@1213
|
17
|
bgneal@1213
|
18 def setUp(self):
|
bgneal@1213
|
19 self.pending_user = PendingUser(username='pjmoto',
|
bgneal@1213
|
20 email='pjmoto@example.com', password='password')
|
bgneal@1213
|
21 self.pending_user.save()
|
bgneal@1213
|
22
|
bgneal@1213
|
23 def assert_new_user(self):
|
bgneal@1213
|
24 pjmoto = User.objects.get(username='pjmoto')
|
bgneal@1213
|
25 self.assertEqual(pjmoto.username, 'pjmoto')
|
bgneal@1213
|
26 self.assertEqual(pjmoto.first_name, '')
|
bgneal@1213
|
27 self.assertEqual(pjmoto.last_name, '')
|
bgneal@1213
|
28 self.assertEqual(pjmoto.email, 'pjmoto@example.com')
|
bgneal@1213
|
29 self.assertFalse(pjmoto.is_staff)
|
bgneal@1213
|
30 self.assertTrue(pjmoto.is_active)
|
bgneal@1213
|
31 self.assertFalse(pjmoto.is_superuser)
|
bgneal@1213
|
32
|
bgneal@1213
|
33 now = datetime.now()
|
bgneal@1213
|
34 delta = timedelta(days=0, seconds=5)
|
bgneal@1213
|
35 self.assertTrue(now - pjmoto.last_login < delta)
|
bgneal@1213
|
36 self.assertTrue(now - pjmoto.date_joined < delta)
|
bgneal@1213
|
37
|
bgneal@1213
|
38 self.assertEqual(PendingUser.objects.count(), 0)
|
bgneal@1213
|
39
|
bgneal@1213
|
40 @patch('accounts.utils.logger')
|
bgneal@1213
|
41 def test_create_new_user_admin_activation(self, logger_mock):
|
bgneal@1213
|
42 create_new_user(self.pending_user, admin_activation=True)
|
bgneal@1213
|
43
|
bgneal@1213
|
44 self.assert_new_user()
|
bgneal@1213
|
45
|
bgneal@1213
|
46 self.assertEqual(logger_mock.mock_calls, [
|
bgneal@1213
|
47 call.info('Accounts registration confirmed by ADMIN for pjmoto')
|
bgneal@1213
|
48 ])
|
bgneal@1213
|
49
|
bgneal@1213
|
50 @patch('accounts.utils.logger')
|
bgneal@1213
|
51 def test_create_new_user_user_activation(self, logger_mock):
|
bgneal@1213
|
52 create_new_user(self.pending_user, ip='127.0.0.1',
|
bgneal@1213
|
53 admin_activation=False)
|
bgneal@1213
|
54
|
bgneal@1213
|
55 self.assert_new_user()
|
bgneal@1213
|
56
|
bgneal@1213
|
57 self.assertEqual(logger_mock.mock_calls, [
|
bgneal@1213
|
58 call.info('Accounts registration confirmed by USER for pjmoto from '
|
bgneal@1213
|
59 '127.0.0.1')
|
bgneal@1213
|
60 ])
|