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.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index 806696d4c..acd86727b 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -1084,6 +1084,42 @@ class FindQATest(FindInit, TestCase):
self.alt_user.user_permissions.add(Permission.objects.get(
codename='change_find'))
+ def test_duplicate(self):
+ find = self.finds[0]
+ default_desc = "Description for duplicate"
+ find.description = default_desc
+ find.save()
+ c = Client()
+ url = reverse('find-qa-duplicate', args=[find.pk])
+ response = c.get(url)
+ self.assertRedirects(response, '/')
+
+ c = Client()
+ c.login(username=self.username, password=self.password)
+ response = c.get(url)
+ self.assertEqual(response.status_code, 200)
+
+ c = Client()
+ c.login(username=self.alt_username, password=self.alt_password)
+ response = c.get(url)
+ self.assertEqual(response.status_code, 200)
+
+ data = {
+ "denomination": "clone",
+ "label": "clone - free id"
+ }
+ nb_find = models.Find.objects.count()
+ nb_bf = models.BaseFind.objects.count()
+ response = c.post(url, data)
+ self.assertEqual(response.status_code, 302) # success redirect
+ self.assertEqual(models.Find.objects.count(), nb_find + 1)
+ self.assertEqual(models.BaseFind.objects.count(), nb_bf + 1)
+ new = models.Find.objects.order_by('-pk').all()[0]
+ self.assertEqual(new.description, default_desc)
+ new_bf = models.BaseFind.objects.order_by('-pk').all()[0]
+ base_bf = find.get_first_base_find()
+ self.assertEqual(new_bf.context_record, base_bf.context_record)
+
def test_bulk_update(self):
c = Client()
pks = u"{}-{}".format(self.finds[0].pk, self.finds[1].pk)