tests: accounts: increase coverage

This commit is contained in:
Élie Bouttier 2014-09-03 21:42:06 -07:00
parent c04ec2430a
commit e0644c88f7

View file

@ -18,6 +18,13 @@ class TestViews(TestCase):
def test_profile(self):
response = self.client.get(reverse('profile'))
self.assertEqual(response.status_code, 200)
response = self.client.post(reverse('profile'), {
'first_name': 'newfirstname',
}, follow=True)
self.assertRedirects(response, reverse('profile'))
self.assertContains(response, 'successfully')
user = User.objects.get(username='admin')
self.assertEqual(user.first_name, 'newfirstname')
# Users
@ -48,6 +55,11 @@ class TestViews(TestCase):
user = User.objects.get(username='user1')
response = self.client.get(reverse('edit-user', args=[user.id]))
self.assertEqual(response.status_code, 200)
self.assertContains(response, 'Username')
with self.settings(EXTERNAL_AUTH=True):
response = self.client.get(reverse('edit-user', args=[user.id]))
self.assertEqual(response.status_code, 200)
self.assertNotContains(response, 'Username')
response = self.client.post(reverse('edit-user', args=[user.id]), {
'username': user.username,
'first_name': 'newfirstname',
@ -58,18 +70,31 @@ class TestViews(TestCase):
def test_user_disable_activate(self):
user = User.objects.get(username='user1')
response = self.client.get(reverse('disable-user', args=[user.id]))
response = self.client.get(reverse('activate-user', args=[user.id]), follow=True)
self.assertRedirects(response, reverse('show-user', args=[user.id]))
self.assertContains(response, 'already activated')
response = self.client.get(reverse('disable-user', args=[user.id]), follow=True)
self.assertRedirects(response, reverse('show-user', args=[user.id]))
self.assertContains(response, 'disabled successfully')
user = User.objects.get(pk=user.pk)
self.assertFalse(user.is_active)
response = self.client.get(reverse('activate-user', args=[user.id]))
response = self.client.get(reverse('disable-user', args=[user.id]), follow=True)
self.assertRedirects(response, reverse('show-user', args=[user.id]))
self.assertContains(response, 'already disabled')
response = self.client.get(reverse('activate-user', args=[user.id]), follow=True)
self.assertRedirects(response, reverse('show-user', args=[user.id]))
self.assertContains(response, 'activated successfully')
user = User.objects.get(pk=user.pk)
self.assertTrue(user.is_active)
def test_user_edit_password(self):
user = User.objects.get(username='user1')
self.assertTrue(user.check_password("user1"))
response = self.client.get(reverse('edit-user-password', args=[user.id]))
self.assertEqual(response.status_code, 200)
with self.settings(EXTERNAL_AUTH=True):
response = self.client.get(reverse('edit-user-password', args=[user.id]))
self.assertEqual(response.status_code, 404)
response = self.client.post(reverse('edit-user-password', args=[user.id]), {
'password1': 'newpassword',
'password2': 'newpassword',
@ -78,15 +103,12 @@ class TestViews(TestCase):
user = User.objects.get(username='user1')
self.assertTrue(user.check_password('newpassword'))
def test_user_delete_get(self):
def test_user_delete(self):
user_count = User.objects.count()
user = User.objects.get(username='user1')
response = self.client.get(reverse('delete-user', args=[user.id]))
self.assertEqual(response.status_code, 405) # method not allowed
self.assertEqual(User.objects.count(), user_count)
def test_user_delete_post(self):
user_count = User.objects.count()
user = User.objects.get(username='user1')
response = self.client.post(reverse('delete-user', args=[user.id]))
self.assertRedirects(response, reverse('list-user'))
@ -95,6 +117,11 @@ class TestViews(TestCase):
def test_user_add_group(self):
user = User.objects.get(username='user1')
group = Group.objects.create(name='newgroup')
with self.settings(GROUP_MANAGMENT=False):
response = self.client.get(reverse('add-group-to-user', args=[user.id]) + '?term=new')
self.assertEqual(response.status_code, 404)
response = self.client.get(reverse('add-group-to-user', args=[user.id]))
self.assertEqual(response.status_code, 404)
response = self.client.get(reverse('add-group-to-user', args=[user.id]) + '?term=new')
self.assertEqual(response.status_code, 200)
available = json.loads(response.content.decode('utf-8'))
@ -109,6 +136,11 @@ class TestViews(TestCase):
def test_user_remove_group(self):
user = User.objects.get(username='user1')
group = user.groups.first()
with self.settings(GROUP_MANAGMENT=False):
response = self.client.get(reverse('remove-group-from-user', args=[user.id, group.id]))
self.assertEqual(response.status_code, 404)
user = User.objects.get(pk=user.pk)
self.assertTrue(group in user.groups.all())
response = self.client.get(reverse('remove-group-from-user', args=[user.id, group.id]))
self.assertEqual(response.status_code, 200)
user = User.objects.get(pk=user.pk)
@ -117,6 +149,8 @@ class TestViews(TestCase):
def test_user_add_team(self):
user = User.objects.get(username='user1')
team = Team.objects.create(name='newteam')
response = self.client.get(reverse('add-team-to-user', args=[user.id]))
self.assertEqual(response.status_code, 404)
response = self.client.get(reverse('add-team-to-user', args=[user.id]) + '?term=new')
self.assertEqual(response.status_code, 200)
available = json.loads(response.content.decode('utf-8'))
@ -162,6 +196,11 @@ class TestViews(TestCase):
group = Group.objects.get(name='group1')
response = self.client.get(reverse('edit-group', args=[group.id]))
self.assertEqual(response.status_code, 200)
with self.settings(GROUP_MANAGMENT=False):
response = self.client.post(reverse('edit-group', args=[group.id]), {
'name': 'newname',
})
self.assertEqual(response.status_code, 404)
response = self.client.post(reverse('edit-group', args=[group.id]), {
'name': 'newname',
})
@ -169,16 +208,16 @@ class TestViews(TestCase):
group = Group.objects.get(pk=group.pk)
self.assertEqual(group.name, 'newname')
def test_group_delete_get(self):
def test_group_delete(self):
group_count = Group.objects.count()
group = Group.objects.get(name='group1')
response = self.client.get(reverse('delete-group', args=[group.id]))
self.assertEqual(response.status_code, 405) # method not allowed
self.assertEqual(Group.objects.count(), group_count)
def test_group_delete_post(self):
group_count = Group.objects.count()
group = Group.objects.get(name='group1')
with self.settings(GROUP_MANAGMENT=False):
response = self.client.post(reverse('delete-group', args=[group.id]))
self.assertEqual(response.status_code, 404)
self.assertEqual(Group.objects.count(), group_count)
response = self.client.post(reverse('delete-group', args=[group.id]))
self.assertRedirects(response, reverse('list-group'))
self.assertEqual(Group.objects.count(), group_count - 1)
@ -186,6 +225,13 @@ class TestViews(TestCase):
def test_group_add_user(self):
group = Group.objects.get(name='group1')
user = User.objects.create(username='newuser')
with self.settings(GROUP_MANAGMENT=False):
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?term=new')
self.assertEqual(response.status_code, 404)
user = User.objects.get(pk=user.pk)
self.assertFalse(group in user.groups.all())
response = self.client.get(reverse('add-user-to-group', args=[group.id]))
self.assertEqual(response.status_code, 404)
response = self.client.get(reverse('add-user-to-group', args=[group.id]) + '?term=new')
self.assertEqual(response.status_code, 200)
available = json.loads(response.content.decode('utf-8'))
@ -200,6 +246,11 @@ class TestViews(TestCase):
def test_group_remove_user(self):
user = User.objects.get(username='user1')
group = user.groups.first()
with self.settings(GROUP_MANAGMENT=False):
response = self.client.get(reverse('remove-user-from-group', args=[group.id, user.id]))
self.assertEqual(response.status_code, 404)
user = User.objects.get(pk=user.pk)
self.assertTrue(group in user.groups.all())
response = self.client.get(reverse('remove-user-from-group', args=[group.id, user.id]))
self.assertEqual(response.status_code, 200)
user = User.objects.get(pk=user.pk)
@ -222,6 +273,8 @@ class TestViews(TestCase):
def test_team_add(self):
team_count = Team.objects.count()
response = self.client.get(reverse('add-team'))
self.assertEqual(response.status_code, 200)
response = self.client.post(reverse('add-team'), {
'name': 'newteam',
})
@ -240,16 +293,12 @@ class TestViews(TestCase):
team = Team.objects.get(pk=team.pk)
self.assertEqual(team.name, 'newname')
def test_team_delete_get(self):
def test_team_delete(self):
team_count = Team.objects.count()
team = Team.objects.get(name='team1')
response = self.client.get(reverse('delete-team', args=[team.id]))
self.assertEqual(response.status_code, 405) # method not allowed
self.assertEqual(Team.objects.count(), team_count)
def test_team_delete_post(self):
team_count = Team.objects.count()
team = Team.objects.get(name='team1')
response = self.client.post(reverse('delete-team', args=[team.id]))
self.assertRedirects(response, reverse('list-team'))
self.assertEqual(Team.objects.count(), team_count - 1)
@ -257,6 +306,8 @@ class TestViews(TestCase):
def test_team_add_user(self):
team = Team.objects.get(name='team2')
user = User.objects.create(username='newuser')
response = self.client.get(reverse('add-user-to-team', args=[team.id]))
self.assertEqual(response.status_code, 404)
response = self.client.get(reverse('add-user-to-team', args=[team.id]) + '?term=new')
self.assertEqual(response.status_code, 200)
available = json.loads(response.content.decode('utf-8'))
@ -279,6 +330,8 @@ class TestViews(TestCase):
def test_team_add_group(self):
team = Team.objects.get(name='team2')
group = Group.objects.create(name='newgroup')
response = self.client.get(reverse('add-group-to-team', args=[team.id]))
self.assertEqual(response.status_code, 404)
response = self.client.get(reverse('add-group-to-team', args=[team.id]) + '?term=new')
self.assertEqual(response.status_code, 200)
available = json.loads(response.content.decode('utf-8'))
@ -297,3 +350,16 @@ class TestViews(TestCase):
self.assertEqual(response.status_code, 200)
team = Team.objects.get(pk=team.pk)
self.assertFalse(group in team.groups.all())
class TestModels(TestCase):
def test_user(self):
user = User.objects.create(username='user')
self.assertEqual(user.username_and_fullname, 'user')
user.first_name = 'Firstname'
self.assertEqual(user.username_and_fullname, 'user (Firstname)')
user.last_name = 'Lastname'
self.assertEqual(user.username_and_fullname, 'user (Firstname Lastname)')
user.first_name = ''
self.assertEqual(user.username_and_fullname, 'user (Lastname)')