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