diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2023-09-19 12:20:43 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-04-16 16:38:32 +0200 |
commit | 5e4b5ff9ff801aacbfc173873036437b2ab54fa7 (patch) | |
tree | 2cd511d9a9c7f8d10c2bb3acb10afe3f06add050 | |
parent | 5ec78fa85dbb6b7ec7d286827b6e32f82c489b3e (diff) | |
download | Ishtar-5e4b5ff9ff801aacbfc173873036437b2ab54fa7.tar.bz2 Ishtar-5e4b5ff9ff801aacbfc173873036437b2ab54fa7.zip |
✅ Tests: pre-import form - fix import test
-rw-r--r-- | archaeological_operations/tests.py | 43 | ||||
-rw-r--r-- | ishtar_common/tests.py | 5 |
2 files changed, 48 insertions, 0 deletions
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) diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py index 6cd6db9e3..8726dc559 100644 --- a/ishtar_common/tests.py +++ b/ishtar_common/tests.py @@ -2545,10 +2545,15 @@ class ImportTest(TestCase): imp_model = self.create_importer_model() importer_type = self.create_importer_type(imp_model) + csv_path = os.path.join(LIB_BASE_PATH, "ishtar_common", "tests", "insee-test.csv") data = { "name": "Test Name", "importer_type": importer_type.pk, + "imported_file": SimpleUploadedFile( + name="insee-test.csv", + content=open(csv_path, "rb").read(), + ), "encoding": "utf-8", "csv_sep": '|', "skip_lines": 1, |