diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-14 18:29:47 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-14 18:29:47 +0200 |
commit | 5ca7407d99b07694fd5facf612f3d2c8562c000b (patch) | |
tree | 0aa879bf17c6dfab7879c85f76f15a69d2a843a8 | |
parent | 26a7508ea2ae47ccbaf0e0bfc0d2bd4f64482824 (diff) | |
download | Ishtar-5ca7407d99b07694fd5facf612f3d2c8562c000b.tar.bz2 Ishtar-5ca7407d99b07694fd5facf612f3d2c8562c000b.zip |
Fix file imports - fix tests with redirs
-rw-r--r-- | archaeological_context_records/tests.py | 2 | ||||
-rw-r--r-- | archaeological_files/views.py | 12 | ||||
-rw-r--r-- | archaeological_finds/tests.py | 8 | ||||
-rw-r--r-- | archaeological_finds/wizards.py | 4 | ||||
-rw-r--r-- | archaeological_operations/tests.py | 23 | ||||
-rw-r--r-- | archaeological_warehouse/tests.py | 6 | ||||
-rw-r--r-- | ishtar_common/tests.py | 23 |
7 files changed, 62 insertions, 16 deletions
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index 92f97545e..36f73884a 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -853,6 +853,8 @@ class ContextRecordWizardCreationTest(WizardTest, ContextRecordInit, TestCase): url_name = 'record_creation' wizard_name = 'record_wizard' steps = views.record_creation_steps + redirect_url = "/record_modification/selec-record_modification"\ + "?open_item={last_id}" form_datas = [ FormData( "Create a simple context record", diff --git a/archaeological_files/views.py b/archaeological_files/views.py index a23475c3e..f55dbe73c 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -23,7 +23,7 @@ import re from django.core.urlresolvers import reverse from django.db.models import Q from django.http import HttpResponse, Http404, HttpResponseRedirect -from django.shortcuts import redirect +from django.shortcuts import redirect, render from django.utils.translation import ugettext_lazy as _ from ishtar_common.views import wizard_is_available @@ -31,14 +31,18 @@ from ishtar_common.views_item import get_item, show_item, revert_item from archaeological_operations.wizards import AdministrativeActDeletionWizard, \ is_preventive, is_not_preventive -from .wizards import * + +from ishtar_common.wizards import SearchWizard +from archaeological_files.wizards import FileSearch, FileWizard, \ + FileModificationWizard, FileClosingWizard, FileDeletionWizard, \ + FileAdministrativeActWizard, FileEditAdministrativeActWizard from ishtar_common.forms_common import TownFormset from archaeological_operations.forms import FinalAdministrativeActDeleteForm from ishtar_common.forms import ClosingDateFormSelection -from . import forms +from . import forms, models -from ishtar_common.utils import put_session_message +from archaeological_operations.models import Operation, AdministrativeAct RE_YEAR_INDEX = re.compile(r"([1-2][0-9]{3})-([0-9]+)") # eg.: 2014-123 diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 2d6b85b1a..76e6764b2 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -245,6 +245,9 @@ class FindWizardCreationTest(WizardTest, FindInit, TestCase): url_name = 'find_creation' wizard_name = 'find_wizard' steps = views.find_creation_steps + redirect_url = "/find_modification/selec-find_modification?open_item="\ + "{last_id}" + model = models.Find form_datas = [ FormData( 'Find creation', @@ -302,6 +305,7 @@ class FindWizardDeletionWithWarehouseModTest(WizardTest, FindInit, TestCase): url_name = 'find_deletion' wizard_name = 'find_deletion_wizard' steps = views.find_deletion_steps + redirect_url = "/{}/selecw-{}".format(url_name, url_name) form_datas = [ FormData( 'Find deletion', @@ -319,7 +323,7 @@ class FindWizardDeletionWithWarehouseModTest(WizardTest, FindInit, TestCase): profile.save() find, bf = self.get_default_find(force=True) - self.form_datas[0].set('selecw', 'pk', find.pk) + self.form_datas[0].set('selecw', 'pks', find.pk) self.find_number = models.Find.objects.count() super(FindWizardDeletionWithWarehouseModTest, self).pre_wizard() @@ -333,6 +337,8 @@ class TreatmentWizardCreationTest(WizardTest, FindInit, TestCase): url_name = 'treatment_creation' wizard_name = 'treatment_wizard' steps = views.treatment_wizard_steps + redirect_url = "/treatment_search/general-treatment_search?" \ + "open_item={last_id}" form_datas = [ FormData( 'Move treatment (planned)', diff --git a/archaeological_finds/wizards.py b/archaeological_finds/wizards.py index b34bcdcbe..71bc6deed 100644 --- a/archaeological_finds/wizards.py +++ b/archaeological_finds/wizards.py @@ -194,8 +194,10 @@ class TreatmentWizard(TreatmentBase): if 'resulting_pk' in dct: dct['items'] = [] pks = dct.pop('resulting_pk') + if isinstance(pks, models.Find): + pks = [pks] if not isinstance(pks, (list, tuple)): - pks = pks.split(u',') + pks = str(pks).split(u',') for pk in pks: if isinstance(pk, models.Find): diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 6c20df85a..9466257a4 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -1681,7 +1681,7 @@ class LockTest(TestCase, OperationInitTest): step = 'selec-operation_modification' response = cls_wiz.wizard_post( self.client, url, step, {'pk': self.operation.pk}) - msg = str(_("This operation is locked for edition.") + msg = str(_("This item is locked for edition.") ).replace("'", "'") self.assertIn(msg, response.content.decode(), msg="wizard lock for edition not effective") @@ -2514,6 +2514,9 @@ class OperationWizardCreationTest(WizardTest, OperationInitTest, TestCase): url_name = 'operation_creation' wizard_name = 'operation_wizard' steps = views.wizard_steps + redirect_url = "/operation_modification/selec-operation_modification"\ + "?open_item={last_id}" + model = models.Operation form_datas = [ FormData( @@ -2632,6 +2635,8 @@ class OperationWizardModifTest(WizardTest, OperationInitTest, TestCase): url_name = 'operation_modification' wizard_name = url_name + '_wizard' steps = views.operation_modif_wizard_steps + redirect_url = "/{url_name}/selec-{url_name}?open_item={current_id}" + model = models.Operation base_ignored_steps = ( 'archaeologicalsite-operation_modification', 'preventive-operation_modification', @@ -2826,11 +2831,12 @@ class OperationWizardDeleteTest(OperationWizardCreationTest): url_name = 'operation_deletion' wizard_name = 'operation_deletion_wizard' steps = views.operation_deletion_steps + redirect_url = "/{}/selec-{}".format(url_name, url_name) form_datas = [ FormData( "Wizard deletion test", form_datas={ - 'selec-operation_deletion': {'pk': None}, + 'selec-operation_deletion': {'pks': None}, } ) ] @@ -2844,7 +2850,7 @@ class OperationWizardDeleteTest(OperationWizardCreationTest): self.ope = self.get_default_operation(force=True) self.ope.parcels.add(self.create_parcel()[0]) self.parcel_nb = models.Parcel.objects.count() - self.form_datas[0].form_datas['selec-operation_deletion']['pk'] = \ + self.form_datas[0].form_datas['selec-operation_deletion']['pks'] = \ self.ope.pk self.operation_number = models.Operation.objects.count() super(OperationWizardDeleteTest, self).pre_wizard() @@ -2861,6 +2867,7 @@ class OperationWizardClosingTest(OperationWizardCreationTest): url_name = 'operation_closing' wizard_name = 'operation_closing_wizard' steps = views.operation_closing_steps + redirect_url = "/operation_closing/done" form_datas = [ FormData( "Wizard closing test", @@ -3107,7 +3114,8 @@ class DocumentTest(OperationInitTest, TestCase): response = c.post(url, posted) self.assertEqual(nb_doc + 1, models.Document.objects.count()) self.assertEqual(nb_doc_ope + 1, self.operation.documents.count()) - self.assertRedirects(response, '/display-document/{}/'.format( + self.assertRedirects( + response, '/document/edit/?open_item={}'.format( self.operation.documents.order_by('-pk').all()[0].pk )) @@ -3135,7 +3143,7 @@ class DocumentTest(OperationInitTest, TestCase): posted["operations"] = [str(self.operation.pk)] response = c.post(url, posted) self.assertRedirects( - response, '/display-document/{}/'.format(doc.pk)) + response, '/document/edit/?open_item={}'.format(doc.pk)) response = c.get('/show-document/{}/'.format(doc.pk)) self.assertIn(posted["title"], response.content.decode()) @@ -3145,12 +3153,13 @@ class DocumentWizardDeleteTest(WizardTest, OperationInitTest, TestCase): url_name = 'document_deletion' url_uri = "document/delete" wizard_name = 'document_deletion_wizard' + redirect_url = "/{}/selec-{}".format(url_uri, url_name) steps = document_deletion_steps form_datas = [ FormData( "Delete document", form_datas={ - 'selec': {'pk': None}, + 'selec': {'pks': None}, }, ), ] @@ -3160,7 +3169,7 @@ class DocumentWizardDeleteTest(WizardTest, OperationInitTest, TestCase): document = Document.objects.create(title="testy") document.operations.add(ope) self.ope_id = ope.pk - self.form_datas[0].set('selec', 'pk', document.pk) + self.form_datas[0].set('selec', 'pks', document.pk) self.doc_nb = Document.objects.count() super(DocumentWizardDeleteTest, self).pre_wizard() diff --git a/archaeological_warehouse/tests.py b/archaeological_warehouse/tests.py index 6d6dbddc9..72124e685 100644 --- a/archaeological_warehouse/tests.py +++ b/archaeological_warehouse/tests.py @@ -365,6 +365,9 @@ class WarehouseWizardCreationTest(WizardTest, FindInit, TestCase): url_name = 'warehouse_creation' wizard_name = 'warehouse_wizard' steps = views.warehouse_creation_steps + redirect_url = "/warehouse_modification/selec-warehouse_modification"\ + "?open_item={last_id}" + model = models.Warehouse # back is messing with divisions but it is not a real problem because # reinit is necessary test_back = False @@ -425,6 +428,9 @@ class ContainerWizardCreationTest(WizardTest, FindInit, TestCase): url_name = 'container_creation' wizard_name = 'container_wizard' steps = views.container_creation_steps + redirect_url = '/container_modification/selec-container_modification'\ + '?open_item={last_id}' + model = models.Container form_datas = [ FormData( 'Container creation', diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 765d74312..8708d90bd 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -414,6 +414,9 @@ class WizardTest(object): condition_dict = None form_datas = [] test_back = True + redirect_url = None + model = None + current_id_key = "pk" def setUp(self): self.username, self.password, self.user = create_superuser() @@ -502,9 +505,23 @@ class WizardTest(object): ) if idx == len(self.steps) - 1: # last form - self.assertRedirects( - response, - '/{}/done'.format(self.url_uri)) + if not self.redirect_url: + redirect_url = '/{}/done'.format(self.url_uri) + else: + dct = { + "url_name": self.url_name, + "url_uri": self.url_uri + } + form_key = 'selec-' + self.url_name + if form_key in form_data and self.current_id_key in form_data[ + form_key]: + dct["current_id"] = form_data[form_key][self.current_id_key] + if self.model: + q = self.model.objects + if q.count(): + dct["last_id"] = q.order_by("-pk").all()[0].pk + redirect_url = self.redirect_url.format(**dct) + self.assertRedirects(response, redirect_url) return response def test_wizard(self): |