123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- from django.test import TestCase
- from django.contrib.auth.models import User
- from django.contrib.contenttypes.models import ContentType
- from django.core.urlresolvers import reverse
- from .models import Corporation, Adhesion
- class AdhesionsTests(TestCase):
- def setUp(self):
- admin = User.objects.create_user('admin', email='admin@example.net', password='admin', is_superuser=True)
- user = User.objects.create_user('user', first_name='first', last_name='last', email='user@example.net', password='user')
- adhesion = Adhesion.objects.create(adherent_type=ContentType.objects.get_for_model(User), adherent_id=user.pk)
- corp1 = Corporation.objects.create(social_reason='GoodCorp')
- corp1.members.add(user)
- corp2 = Corporation.objects.create(social_reason='EvilCorp')
- def test_adhesion_backend(self):
- user = User.objects.get(username='user')
- adhesion = user.profile.adhesion
- self.assertFalse(self.client.login(username='%d' % adhesion.pk, password='wrong'))
- self.assertFalse(self.client.login(username='ADT%d' % adhesion.pk, password='wrong'))
- self.assertFalse(self.client.login(username='9999', password='user'))
- self.assertFalse(self.client.login(username='ADT9999', password='user'))
- self.assertTrue(self.client.login(username='%d' % adhesion.pk, password='user'))
- self.assertTrue(self.client.login(username='ADT%d' % adhesion.pk, password='user'))
- def test_user(self):
- response = self.client.get(reverse('user'))
- self.assertRedirects(response, reverse('login') + '?next=' + reverse('user'))
- self.client.login(username='user', password='user')
- response = self.client.get(reverse('user'))
- self.assertEqual(response.status_code, 200)
- def test_corporation(self):
- user = User.objects.get(username='user')
- corp = Corporation.objects.get(social_reason='EvilCorp')
- url = reverse('corporation', kwargs={'pk': corp.pk})
- response = self.client.get(url)
- self.assertRedirects(response, reverse('login') + '?next=' + url)
- self.client.login(username='user', password='user')
- response = self.client.get(url)
- self.assertEqual(response.status_code, 403)
- corp.members.add(user)
- response = self.client.get(url)
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, '')
- def test_corporation_menu(self):
- self.client.login(username='user', password='user')
- response = self.client.get('/')
- self.assertContains(response, 'GoodCorp')
- self.assertNotContains(response, 'EvilCorp')
- def test_users_admin(self):
- self.client.login(username='admin', password='admin')
- response = self.client.get(reverse('user-list'))
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, 'admin')
- self.assertContains(response, 'user')
- response = self.client.get(reverse('user-add'))
- self.assertEqual(response.status_code, 200)
- response = self.client.get(reverse('user-detail', kwargs={'pk': 1}))
- self.assertEqual(response.status_code, 200)
- response = self.client.get(reverse('user-edit', kwargs={'pk': 1}))
- self.assertEqual(response.status_code, 200)
- def test_corporations_admin(self):
- self.client.login(username='admin', password='admin')
- response = self.client.get(reverse('corporation-list'))
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, 'GoodCorp')
- self.assertContains(response, 'EvilCorp')
- response = self.client.get(reverse('corporation-add'))
- self.assertEqual(response.status_code, 200)
- response = self.client.get(reverse('corporation-detail', kwargs={'pk': 1}))
- self.assertEqual(response.status_code, 200)
- response = self.client.get(reverse('corporation-edit', kwargs={'pk': 1}))
- self.assertEqual(response.status_code, 200)
- def test_adhesions_admin(self):
- self.client.login(username='admin', password='admin')
- response = self.client.get(reverse('adhesion-list'))
- self.assertEqual(response.status_code, 200)
- self.assertContains(response, 'user')
- response = self.client.get(reverse('adhesion-detail', kwargs={'pk': 1}))
- self.assertEqual(response.status_code, 200)
|