diff options
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r-- | archaeological_finds/tests.py | 36 |
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) |