diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-09-10 20:00:02 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-10-24 12:06:08 +0200 |
commit | f3152095ff38920754792d6c36c31a54d1b38dc7 (patch) | |
tree | 6599be643025775edcd76117c67710236a5c4a3e /archaeological_finds | |
parent | 7b26e330ece31c82fc00f4bf411bc13010888eca (diff) | |
download | Ishtar-f3152095ff38920754792d6c36c31a54d1b38dc7.tar.bz2 Ishtar-f3152095ff38920754792d6c36c31a54d1b38dc7.zip |
Test find bulk update
Diffstat (limited to 'archaeological_finds')
-rw-r--r-- | archaeological_finds/tests.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 353ebbdbb..976669f8a 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -747,6 +747,64 @@ class FindPermissionTest(FindInit, TestCase): self.assertEqual(json.loads(response.content)['recordsTotal'], 1) +class FindQATest(FindInit, TestCase): + fixtures = FIND_FIXTURES + model = models.Find + + def setUp(self): + self.create_finds(data_base={"label": u"Find 1"}, force=True) + self.create_finds(data_base={"label": u"Find 2"}, force=True) + self.username, self.password, self.user = create_superuser() + self.alt_username, self.alt_password, self.alt_user = create_user() + self.alt_user.user_permissions.add(Permission.objects.get( + codename='change_find')) + + def test_bulk_update(self): + c = Client() + pks = u"{}-{}".format(self.finds[0].pk, self.finds[1].pk) + response = c.get(reverse('find-qa-bulk-update', args=[pks])) + self.assertRedirects(response, '/') + + c = Client() + c.login(username=self.username, password=self.password) + response = c.get(reverse('find-qa-bulk-update', args=[pks])) + self.assertEqual(response.status_code, 200) + + c = Client() + c.login(username=self.alt_username, password=self.alt_password) + response = c.get(reverse('find-qa-bulk-update', args=[pks])) + self.assertEqual(response.status_code, 200) + + find_0 = self.finds[0] + find_1 = self.finds[1] + base_desc_0 = u"Base description 1" + find_0.description = base_desc_0 + find_0.save() + base_desc_1 = u"Base description 2" + find_1.description = base_desc_1 + find_1.save() + + period = Period.objects.all()[0].pk + self.assertNotIn(period, + [dating.period.pk for dating in find_0.datings.all()]) + self.assertNotIn(period, + [dating.period.pk for dating in find_1.datings.all()]) + extra_desc = u"Extra description" + response = c.post( + reverse('find-qa-bulk-update-confirm', args=[pks]), + {'qa_period': period, 'qa_description': extra_desc} + ) + self.assertRedirects(response, '/success/') + self.assertIn(period, + [dating.period.pk for dating in find_0.datings.all()]) + self.assertIn(period, + [dating.period.pk for dating in find_1.datings.all()]) + self.assertEqual(models.Find.objects.get(pk=find_0.pk).description, + base_desc_0 + u"\n" + extra_desc) + self.assertEqual(models.Find.objects.get(pk=find_1.pk).description, + base_desc_1 + u"\n" + extra_desc) + + class PackagingTest(FindInit, TestCase): fixtures = FIND_FIXTURES model = models.Find |