diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-05-05 12:39:32 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-05-05 12:39:32 +0200 |
commit | a68bedba648cd3457c536e83d7f327d92474dfc9 (patch) | |
tree | 08682b0df3c888226211bc3262539eb79246b6eb | |
parent | 9f4eb84a516178eb48c4d381dac0f3eb1c9d9548 (diff) | |
download | Ishtar-a68bedba648cd3457c536e83d7f327d92474dfc9.tar.bz2 Ishtar-a68bedba648cd3457c536e83d7f327d92474dfc9.zip |
Tests: test import regex
-rw-r--r-- | archaeological_operations/tests.py | 24 | ||||
-rw-r--r-- | archaeological_operations/tests/operations-with-json-fields.csv | 6 |
2 files changed, 26 insertions, 4 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 672c06647..af6988568 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -47,7 +47,7 @@ from ishtar_common.models import OrganizationType, Organization, ItemKey, \ DocumentTemplate, PersonType, TargetKeyGroup, JsonDataField, \ JsonDataSection, ImportTarget, FormaterType, CustomForm, ExcludedField, \ UserProfile, ProfileType, Area, CustomFormJsonField, get_current_profile, \ - Document, ValueFormater + Document, ValueFormater, Regexp from archaeological_files.models import File, FileType from archaeological_context_records.models import Unit, ContextRecord @@ -586,6 +586,28 @@ class ImportOperationTest(ImportTest, TestCase): self.assertEqual(ope2.data, {u'autre_refs': {u'arbitraire': 456}, u"autre": 333}) + def test_regexp(self): + importer, form = self.init_ope_import("operations-with-json-fields.csv") + r, __ = Regexp.objects.get_or_create( + name="Code INSEE", + regexp='([0-9]{0,1}[0-9A-B]) *([0-9]{3})' + ) + col = ImporterColumn.objects.create( + importer_type=importer, col_number=13, regexp_pre_filter=r) + formater_type = FormaterType.objects.get( + formater_type='UnicodeFormater', options="") + ImportTarget.objects.create( + column=col, target='data__code_insee', + formater_type=formater_type) + impt = form.save(self.ishtar_user) + impt.initialize() + self.init_ope_targetkey(imp=impt) + impt.importation() + ope1 = models.Operation.objects.get(code_patriarche='4200') + self.assertEqual(ope1.data, {"code_insee": "45123"}) + ope2 = models.Operation.objects.get(code_patriarche='4201') + self.assertEqual(ope2.data, {"code_insee": "6456"}) + class ImportDocumentTest(ImportTest, TestCase): fixtures = OPERATION_TOWNS_FIXTURES diff --git a/archaeological_operations/tests/operations-with-json-fields.csv b/archaeological_operations/tests/operations-with-json-fields.csv index 128bb00fd..3964198cb 100644 --- a/archaeological_operations/tests/operations-with-json-fields.csv +++ b/archaeological_operations/tests/operations-with-json-fields.csv @@ -1,3 +1,3 @@ -code OA,region,type operation,intitule operation,operateur,responsable operation,date debut terrain,date fin terrain,chronologie generale,identifiant document georeferencement,notice scientifique,numéro arbitraire,autre -4201,Bourgogne,Fouille programmée,Oppìdum de Paris 2,L'opérateur,,2000/01/31,2002/12/31,Age du Fer,,456,333 -4200,Bourgogne,Fouille programmée,Oppìdum de Paris,L'opérateur,Jean Sui-Resp'on Sablé,2000/01/22,2002/12/31,Age du Fer & Gallo-Romain & Néolithik & Moderne,,789,666 +code OA,region,type operation,intitule operation,operateur,responsable operation,date debut terrain,date fin terrain,chronologie generale,identifiant document georeferencement,notice scientifique,numéro arbitraire,autre,code +4201,Bourgogne,Fouille programmée,Oppìdum de Paris 2,L'opérateur,,2000/01/31,2002/12/31,Age du Fer,,456,333,6 456 +4200,Bourgogne,Fouille programmée,Oppìdum de Paris,L'opérateur,Jean Sui-Resp'on Sablé,2000/01/22,2002/12/31,Age du Fer & Gallo-Romain & Néolithik & Moderne,,789,666,45 123 |