diff options
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()  | 
