From 5e4b5ff9ff801aacbfc173873036437b2ab54fa7 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 19 Sep 2023 12:20:43 +0200 Subject: ✅ Tests: pre-import form - fix import test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- archaeological_operations/tests.py | 43 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'archaeological_operations/tests.py') diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index f72ef2647..423eae635 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -67,6 +67,7 @@ from ishtar_common.models import ( IshtarSiteProfile, Town, ImporterColumn, + ImportColumnValue, Person, Author, SourceType, @@ -473,6 +474,48 @@ class ImportOperationTest(ImportTest, TestCase): ).count(), 1 ) + def test_pre_form(self): + """ + Pre-import form + """ + importer, form = self.init_ope_import() + # set a pre-form withe one field "Report state" + col = ImporterColumn.objects.create( + label="State of the report", + importer_type=importer, + col_number="-10", + required=True + ) + ImportTarget.objects.create( + column=col, target="report_processing", + formater_type=FormaterType.objects.get( + formater_type="TypeFormater", + options="archaeological_operations.models.ReportState" + ) + ) + self.assertTrue(form.is_valid()) + impt = form.save(self.ishtar_user) + self.assertTrue(impt.has_pre_import_form) + self.assertFalse(impt.pre_import_form_is_valid) # the pre-form has a required value + + rs, __ = models.ReportState.objects.get_or_create( + label="Dans les limbes", txt_idx="in-limbo", order=10) + ImportColumnValue.objects.get_or_create( + column=col, import_item=impt, value=rs.pk + ) + self.assertTrue(impt.pre_import_form_is_valid) + + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_ope_targetkey(imp=impt) + impt.importation() + self.assertEqual( + models.Operation.objects.filter( + code_patriarche="4201", + report_processing__txt_idx=rs.txt_idx + ).count(), 1 + ) + def test_import_value_format(self): importer, form = self.init_ope_import() column = importer.columns.get(col_number=1) -- cgit v1.2.3