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 | 04a49d6841a73009c23993b56968b48119ccdc54 (patch) | |
| tree | 6599be643025775edcd76117c67710236a5c4a3e /archaeological_finds/tests.py | |
| parent | 7a3b1770022051c65ff263a35b0751f1c3c71460 (diff) | |
| download | Ishtar-04a49d6841a73009c23993b56968b48119ccdc54.tar.bz2 Ishtar-04a49d6841a73009c23993b56968b48119ccdc54.zip | |
Test find bulk update
Diffstat (limited to 'archaeological_finds/tests.py')
| -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 | 
