summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_operations/tests.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 51dd1c346..9fa17b5f9 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -1597,6 +1597,44 @@ class OperationTest(TestCase, OperationInitTest):
self.assertEqual(c_index + 2, doc2.index)
+class LockTest(TestCase, OperationInitTest):
+ fixtures = FILE_FIXTURES
+
+ def setUp(self):
+ IshtarSiteProfile.objects.get_or_create(
+ slug='default', active=True)
+ self.username, self.password, self.user = create_superuser()
+ self.orgas = self.create_orgas(self.user)
+ self.operations = self.create_operation(self.user, self.orgas[0])
+ self.client = Client()
+ self.client.login(username=self.username, password=self.password)
+
+ self.operation = self.operations[0]
+ self.operation.locked = True
+ self.operation.save()
+
+ def test_wizard_lock(self):
+ cls_wiz = OperationWizardModifTest
+ url = reverse(cls_wiz.url_name)
+ # first wizard step
+ step = 'selec-operation_modification'
+ response = cls_wiz.wizard_post(
+ self.client, url, step, {'pk': self.operation.pk})
+ self.assertIn("locked for edition", response.content.decode(),
+ msg="wizard lock for edition not effective")
+
+ def test_qa_lock(self):
+ url = reverse('operation-qa-bulk-update', args=[self.operation.pk])
+ response = self.client.get(url)
+ self.assertRedirects(response, reverse('qa-not-available'))
+
+ def test_sheet_lock(self):
+ url = reverse('show-operation', kwargs={'pk': self.operation.pk})
+ response = self.client.get(url)
+ self.assertIn('This item has been locked', response.content.decode(),
+ msg="lock not displayed on sheet")
+
+
class CustomFormTest(TestCase, OperationInitTest):
fixtures = FILE_FIXTURES