diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-01-11 19:23:51 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-01-11 19:23:51 +0100 |
commit | 6275ac4d3388f912a831c3f6178c3832ce9297b5 (patch) | |
tree | f5d133b3456888ccd805fdf5c50b880acab3e502 /archaeological_finds/tests.py | |
parent | d68eed24e409cf6b5c15c77fbf1034843eea9acd (diff) | |
download | Ishtar-6275ac4d3388f912a831c3f6178c3832ce9297b5.tar.bz2 Ishtar-6275ac4d3388f912a831c3f6178c3832ce9297b5.zip |
Use JSON for M2M history
Diffstat (limited to 'archaeological_finds/tests.py')
-rw-r--r-- | archaeological_finds/tests.py | 56 |
1 files changed, 30 insertions, 26 deletions
diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 231ac30ad..2f485f36e 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -36,7 +36,6 @@ from archaeological_finds import models, views from archaeological_warehouse.models import Warehouse, WarehouseType from ishtar_common import forms_common -from ishtar_common.utils import HISTORY_M2M_SPLIT from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \ TestCase, create_user, create_superuser @@ -837,26 +836,27 @@ class FindHistoryTest(FindInit, TestCase): "quality": DatingQuality.objects.get(txt_idx='sure'), "precise_dating": u"Blah !!!" } - d1_txt = Dating.SEP.join([ - (d1_attrs[k].txt_idx - if hasattr(d1_attrs[k], 'txt_idx') else unicode(d1_attrs[k])) - if k in d1_attrs else '' - for k in Dating.HISTORY_ATTR - ]) d1 = Dating.objects.create(**d1_attrs) d2_attrs = { "period": Period.objects.get(txt_idx='paleolithic'), } - d2_txt = Dating.SEP.join([ - (d2_attrs[k].txt_idx - if hasattr(d2_attrs[k], 'txt_idx') else unicode(d2_attrs[k])) - if k in d2_attrs else '' - for k in Dating.HISTORY_ATTR - ]) d2 = Dating.objects.create(**d2_attrs) + + d1_dct, d2_dct = {}, {} + for k in Dating.HISTORY_ATTR: + for dct, attr in ((d1_dct, d1_attrs) , + (d2_dct, d2_attrs)): + if k in attr: + if hasattr(attr[k], 'txt_idx'): + dct[k] = attr[k].txt_idx + else: + dct[k] = unicode(attr[k]) + else: + dct[k] = '' + find.datings.add(d1) find.datings.add(d2) - return d1_txt, d2_txt + return d1_dct, d2_dct def test_m2m_history_save(self): find = self.finds[0] @@ -874,16 +874,20 @@ class FindHistoryTest(FindInit, TestCase): find.material_types.add(ceram) find.material_types.add(glass) d1_txt, d2_txt = self._add_datings(find) + + self.assertIsNotNone(find.history_m2m) + self.assertIn('material_types', find.history_m2m) self.assertIn( - find.historical_material_types, - [HISTORY_M2M_SPLIT.join(['ceramic', 'glass']), # order do not - HISTORY_M2M_SPLIT.join(['glass', 'ceramic'])]) # matter + find.history_m2m['material_types'], + [['ceramic', 'glass'], # order do not + ['glass', 'ceramic']]) # matter + self.assertIn('datings', find.history_m2m) self.assertIn( - find.historical_datings, - [HISTORY_M2M_SPLIT.join([d1_txt, d2_txt]), # order do not - HISTORY_M2M_SPLIT.join([d2_txt, d1_txt])]) # matter + find.history_m2m['datings'], + [[d1_txt, d2_txt], # order do not + [d2_txt, d1_txt]]) # matter - historical_material_types = find.historical_material_types + historical_material_types = find.history_m2m['material_types'] find = models.Find.objects.get(pk=find.pk) find.label = "hop hop hop2" @@ -896,13 +900,13 @@ class FindHistoryTest(FindInit, TestCase): find.datings.clear() find = models.Find.objects.get(pk=find.pk) - self.assertEqual(find.historical_material_types, 'glass') - self.assertEqual(find.historical_datings, "") + self.assertEqual(find.history_m2m['material_types'], ['glass']) + self.assertEqual(find.history_m2m['datings'], []) self.assertEqual(find.history.count(), nb_hist + 2) - self.assertEqual(find.history.all()[1].historical_material_types, + self.assertEqual(find.history.all()[1].history_m2m['material_types'], historical_material_types) - self.assertEqual(find.history.all()[0].historical_material_types, - "glass") + self.assertEqual(find.history.all()[0].history_m2m['material_types'], + ["glass"]) def test_m2m_history_display(self): c = Client() |