From 9ab03b9fd3f0d9804d6d753d09e4358c6ea9d16a Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Tue, 6 Nov 2018 18:38:30 +0100 Subject: Fix import of new JSON fields (refs #4292) --- archaeological_operations/tests.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'archaeological_operations/tests.py') diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 02635a05c..4edf62e22 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -466,7 +466,7 @@ class ImportOperationTest(ImportTest, TestCase): col_number=11) formater_type = FormaterType.objects.get( formater_type='IntegerFormater') - ImportTarget.objects.create( + it = ImportTarget.objects.create( column=col, target='data__autre_refs__arbitraire', formater_type=formater_type) impt = form.save(self.ishtar_user) @@ -478,6 +478,24 @@ class ImportOperationTest(ImportTest, TestCase): ope2 = models.Operation.objects.get(code_patriarche='4201') self.assertEqual(ope2.data, {u'autre_refs': {u'arbitraire': 456}}) + # #4292: Import of new JSON fields erase all precedent JSON fields + it.delete() + col2 = ImporterColumn.objects.create(importer_type=importer, + col_number=12) + ImportTarget.objects.create( + column=col2, target='data__autre', + 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, {u'autre_refs': {u'arbitraire': 789}, + u"autre": 666}) + ope2 = models.Operation.objects.get(code_patriarche='4201') + self.assertEqual(ope2.data, {u'autre_refs': {u'arbitraire': 456}, + u"autre": 333}) + class ImportStepByStepTest(ImportTest, TestCase): fixtures = OPERATION_TOWNS_FIXTURES -- cgit v1.2.3