diff options
Diffstat (limited to 'archaeological_operations/tests.py')
| -rw-r--r-- | archaeological_operations/tests.py | 49 | 
1 files changed, 49 insertions, 0 deletions
| diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index b3eac54d3..72cecee95 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -3167,6 +3167,14 @@ class OperationQATest(OperationInitTest, TestCase):              self.assertEqual(ope.locked, True)              self.assertEqual(ope.lock_user, self.user) +        response = c.post(url, {"action": "unlock"}) +        if response.status_code != 200: +            self.assertRedirects(response, '/success/') +        for ope in (op0, op1): +            ope = models.Operation.objects.get(pk=ope.pk) +            self.assertEqual(ope.locked, False) +            self.assertEqual(ope.lock_user, None) +          c = Client()          c.login(username=self.alt_username, password=self.alt_password)          response = c.get(reverse('operation-qa-lock', args=[pks])) @@ -3180,6 +3188,35 @@ class OperationQATest(OperationInitTest, TestCase):              self.assertEqual(ope.locked, True)              self.assertEqual(ope.lock_user, self.alt_user) +        response = c.post(url, {"action": "unlock"}) +        if response.status_code != 200: +            self.assertRedirects(response, '/success/') +        for ope in (op0, op1): +            ope = models.Operation.objects.get(pk=ope.pk) +            self.assertEqual(ope.locked, False) +            self.assertEqual(ope.lock_user, None) + +        # one item lock by another user +        op0 = models.Operation.objects.get(pk=op0.pk) +        op0.locked = True +        op0.lock_user = self.user +        op0.save() +        op1 = models.Operation.objects.get(pk=op1.pk) +        op1.locked = True +        op1.lock_user = self.alt_user +        op1.save() + +        response = c.post(url, {"action": "unlock"}) +        self.assertRedirects(response, '/qa-not-available/locked-by-others/') + +        op0 = models.Operation.objects.get(pk=op0.pk) +        self.assertEqual(op0.locked, True) +        self.assertEqual(op0.lock_user, self.user) + +        op1 = models.Operation.objects.get(pk=op1.pk) +        self.assertEqual(op1.locked, True) +        self.assertEqual(op1.lock_user, self.alt_user) +      def test_bulk_update(self):          c = Client()          pks = u"{}-{}".format(self.operations[0].pk, self.operations[1].pk) @@ -3232,6 +3269,18 @@ class OperationQATest(OperationInitTest, TestCase):              operation_type          ) +        # one item lock by another user +        op0 = models.Operation.objects.get(pk=self.operations[0].pk) +        op0.locked = True +        op0.lock_user = self.user +        op0.save() + +        response = c.post( +            reverse('operation-qa-bulk-update-confirm', args=[pks]), +            {'qa_operation_type': operation_type.pk} +        ) +        self.assertRedirects(response, '/qa-not-available/') +  class DocumentQATest(OperationInitTest, TestCase):      fixtures = OPERATION_FIXTURES | 
