summaryrefslogtreecommitdiff
path: root/archaeological_finds/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r--archaeological_finds/tests.py58
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