From 056d66ba290b4a226eb240f91ca165efe885c668 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Wed, 5 Jun 2019 12:53:54 +0200 Subject: QA: fix bad QA indexing - tests --- ishtar_common/tests.py | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) (limited to 'ishtar_common/tests.py') 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 + ) + -- cgit v1.2.3