summaryrefslogtreecommitdiff
path: root/archaeological_finds/tests.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2026-02-05 17:19:07 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2026-02-09 10:56:46 +0100
commitb0a9718a100365f8d3e541ac68fbf174a3aea9b4 (patch)
tree6105ab2c8fe94687f1c9f2b9ec638f36e8eee3ed /archaeological_finds/tests.py
parent3345a80dc9e0951022a10442407a1b09e8b24b6d (diff)
downloadIshtar-b0a9718a100365f8d3e541ac68fbf174a3aea9b4.tar.bz2
Ishtar-b0a9718a100365f8d3e541ac68fbf174a3aea9b4.zip
🚑️ imports: fix concatenation of existing fields - fix concat string
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r--archaeological_finds/tests.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py
index e52dd2964..c47598bdb 100644
--- a/archaeological_finds/tests.py
+++ b/archaeological_finds/tests.py
@@ -1008,6 +1008,46 @@ class ImportFindTest(BaseImportFindTest):
# check errors
self.assertEqual(len(impt.errors), 0)
+ def test_import_string_concat(self):
+ self.init_context_record()
+
+ MCC = ImporterType.objects.get(name="MCC - Mobilier")
+ # column : description
+ col = ImporterColumn.objects.get(col_number=23, importer_type_id=MCC.pk)
+ col.targets.update(concat=True, concat_str=" - ")
+
+ mcc_file = open(
+ settings.LIB_BASE_PATH + "archaeological_finds/tests/MCC-finds-example.csv",
+ "rb",
+ )
+ file_dict = {
+ "imported_file": SimpleUploadedFile(mcc_file.name, mcc_file.read()),
+ }
+ post_dict = {
+ "importer_type": MCC.pk,
+ "skip_lines": 1,
+ "encoding": "utf-8",
+ "name": "init_find_import",
+ "csv_sep": ",",
+ }
+ form = forms_common.BaseImportForm(
+ data=post_dict, files=file_dict, user=self.user
+ )
+ form.is_valid()
+ self.assertTrue(form.is_valid())
+ impt = form.save(self.ishtar_user)
+ impt.conservative_import = True
+ impt.save()
+ impt.initialize()
+ # import 2 times the description field
+ impt.importation()
+ impt.importation()
+ for find in models.Find.objects.filter(imports__pk=impt.pk).all():
+ sp = find.description.split(" - ")
+ self.assertEqual(len(sp), 2)
+ self.assertNotEqual(sp[0], "")
+ self.assertEqual(sp[0], sp[1])
+
class ExportTest(FindInit, TestCase):
fixtures = FIND_TOWNS_FIXTURES