diff options
| author | Valérie-Emma Leroux <valerie-emma.leroux@iggdrasil.net> | 2017-04-07 11:40:31 +0200 | 
|---|---|---|
| committer | Valérie-Emma Leroux <valerie-emma.leroux@iggdrasil.net> | 2017-04-07 11:40:31 +0200 | 
| commit | 655236dd5d04d6527184a58ef8622e75c73f8a65 (patch) | |
| tree | f773b80964981c231c892ee5255b94285bc5620a /archaeological_context_records/tests.py | |
| parent | dc08e5f643562a6ecf3b208c1e2cd44e5350af3c (diff) | |
| parent | a4f1766d2217b1a3bc4d1d17625d9d808eed7416 (diff) | |
| download | Ishtar-655236dd5d04d6527184a58ef8622e75c73f8a65.tar.bz2 Ishtar-655236dd5d04d6527184a58ef8622e75c73f8a65.zip | |
Merge branch 'master' of git.iggdrasil.net:/srv/git/ishtar
Conflicts:
	archaeological_operations/templates/ishtar/sheet_operation.html
Diffstat (limited to 'archaeological_context_records/tests.py')
| -rw-r--r-- | archaeological_context_records/tests.py | 52 | 
1 files changed, 50 insertions, 2 deletions
| diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index 6bb293e4d..4226b42ea 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -235,7 +235,7 @@ class ContextRecordTest(ContextRecordInit, TestCase):          models.RecordRelations.objects.create(              left_record=cr_1, right_record=cr_2, relation_type=sym_rel_type) -    def testExternalID(self): +    def test_external_id(self):          cr = self.context_records[0]          self.assertEqual(              cr.external_id, @@ -255,7 +255,7 @@ class ContextRecordTest(ContextRecordInit, TestCase):              cr.operation          ) -    def test_cache_update(self): +    def test_upstream_cache_update(self):          cr = self.create_context_record()[0]          cr_pk = cr.pk          # OP2010 - 1 | A | 1 | CR 1 @@ -288,6 +288,54 @@ class ContextRecordTest(ContextRecordInit, TestCase):          ope_id, parcel_sec, parcel_nb, cr_label = cr.cached_label.split(' | ')          self.assertEqual(ope_id, 'OP2017-1') +    def test_downstream_cache_update(self): +        if settings.USE_SPATIALITE_FOR_TESTS: +            # using views - can only be tested with postgresql +            return + +        cr = self.create_context_record()[0] + +        from archaeological_finds.models import Find, BaseFind, MaterialType + +        data = { +            'label': "Find me a reason", +            'context_record': cr, +            'history_modifier': self.get_default_user() +        } +        bf = BaseFind.objects.create(**data) +        find = Find.objects.create( +            history_modifier=self.get_default_user(), +            label='Find me too' +        ) +        find.base_finds.add(bf) + +        mat = MaterialType.objects.create( +            label='Adamentium', txt_idx='admentium', code='ADA') +        find.material_types.add(mat) + +        class TestObj(object): +            def __init__(self): +                self.find_reached = [] + +            def reached(self, sender, **kwargs): +                instance = kwargs.get('instance') +                if sender in (Find, BaseFind): +                    self.find_reached.append(instance) + +        test_obj = TestObj() +        cr = models.ContextRecord.objects.get(pk=cr.pk) +        cr.test_obj = test_obj +        cr.label = "New label!" +        cr.save() + +        # verify the relevance of the update +        bf = BaseFind.objects.get(pk=bf.pk) +        self.assertIn("New label!", bf.cache_complete_id) + +        # bulk update of find cached label gen don't have to be +        # reached +        self.assertEqual(len(test_obj.find_reached), 0) +  class ContextRecordSearchTest(ContextRecordInit, TestCase):      fixtures = ImportContextRecordTest.fixtures | 
