summaryrefslogtreecommitdiff
path: root/archaeological_operations/tests.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-11 11:09:07 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-11 11:09:07 +0200
commitc79f3ae3cd37387b9ca3c961e6f551f62e54e657 (patch)
tree409c1ce58887e67759d0296195ced638a50b8a69 /archaeological_operations/tests.py
parentf4e072006f95b19c094a8ed89a5ed62b98c101d3 (diff)
downloadIshtar-c79f3ae3cd37387b9ca3c961e6f551f62e54e657.tar.bz2
Ishtar-c79f3ae3cd37387b9ca3c961e6f551f62e54e657.zip
Test QALock
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r--archaeological_operations/tests.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 9fa17b5f9..b3eac54d3 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -3146,6 +3146,40 @@ class OperationQATest(OperationInitTest, TestCase):
self.alt_user.user_permissions.add(Permission.objects.get(
codename='change_operation'))
+ def test_lock(self):
+ c = Client()
+ op0, op1 = self.operations[0], self.operations[1]
+ pks = u"{}-{}".format(op0.pk, op1.pk)
+ url = reverse('operation-qa-lock', args=[pks])
+
+ response = c.get(url)
+ self.assertEqual(response.status_code, 404)
+
+ c.login(username=self.username, password=self.password)
+ response = c.get(reverse('operation-qa-lock', args=[pks]))
+ self.assertEqual(response.status_code, 200)
+
+ response = c.post(url, {"action": "lock"})
+ 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, True)
+ self.assertEqual(ope.lock_user, self.user)
+
+ c = Client()
+ c.login(username=self.alt_username, password=self.alt_password)
+ response = c.get(reverse('operation-qa-lock', args=[pks]))
+ self.assertEqual(response.status_code, 200)
+
+ response = c.post(url, {"action": "lock"})
+ 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, True)
+ self.assertEqual(ope.lock_user, self.alt_user)
+
def test_bulk_update(self):
c = Client()
pks = u"{}-{}".format(self.operations[0].pk, self.operations[1].pk)