diff options
Diffstat (limited to 'ishtar_common/tests.py')
| -rw-r--r-- | ishtar_common/tests.py | 45 | 
1 files changed, 44 insertions, 1 deletions
| diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 0f00322fe..b056359ec 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -29,7 +29,7 @@ from io import StringIO  from django.apps import apps  from django.conf import settings -from django.contrib.auth.models import User +from django.contrib.auth.models import User, Permission  from django.contrib.contenttypes.models import ContentType  from django.core.cache import cache  from django.core.exceptions import ValidationError @@ -1902,3 +1902,46 @@ class CleanMedia(TestCase):              found = try_fix_file(name, make_copy=False)              self.assertEqual(found, expected) + + +class PersonQATest(TestCase): +    model = models.Person + +    def setUp(self): +        self.username, self.password, self.user = create_superuser() +        self.user.user_permissions.add(Permission.objects.get( +            codename='change_person')) +        self.title_1 = models.TitleType.objects.create(label="T1", txt_idx="t1") +        self.title_2 = models.TitleType.objects.create(label="T2", txt_idx="t2") +        self.person_1 = models.Person.objects.create(title=self.title_1) +        self.person_2 = models.Person.objects.create(title=self.title_1) + +    def test_bulk_update(self): +        c = Client() +        pks = u"{}-{}".format(self.person_1.pk, self.person_2.pk) +        response = c.get(reverse('person-qa-bulk-update', args=[pks])) +        self.assertRedirects(response, '/') + +        c = Client() +        c.login(username=self.username, password=self.password) +        response = c.get(reverse('person-qa-bulk-update', args=[pks])) +        self.assertEqual(response.status_code, 200) + +        self.assertNotEqual(self.person_1.title, self.title_2) +        self.assertNotEqual(self.person_2.title, self.title_2) + +        response = c.post( +            reverse('person-qa-bulk-update-confirm', args=[pks]), +            {'qa_title': self.title_2.pk} +        ) +        if response.status_code != 200: +            self.assertRedirects(response, '/success/') +        self.assertEqual( +            models.Person.objects.get(pk=self.person_1.pk).title, +            self.title_2 +        ) +        self.assertEqual( +            models.Person.objects.get(pk=self.person_2.pk).title, +            self.title_2 +        ) + | 
