summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_operations/tests.py24
-rw-r--r--archaeological_operations/tests/operations-with-json-fields.csv6
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