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