diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-02-22 15:45:40 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-02-22 15:45:40 +0100 | 
| commit | b564d3d2d32782ca439f9d721d01b0fe6cff25a3 (patch) | |
| tree | fd3cd5fd78447db9db5663c3c30c4d4d1379da54 /archaeological_context_records/tests.py | |
| parent | 2b059ee6ed6e90c63ab8f04d3709800d4d365227 (diff) | |
| download | Ishtar-b564d3d2d32782ca439f9d721d01b0fe6cff25a3.tar.bz2 Ishtar-b564d3d2d32782ca439f9d721d01b0fe6cff25a3.zip | |
Fix cache operation update - Parcel associated with context records are not removed!
Diffstat (limited to 'archaeological_context_records/tests.py')
| -rw-r--r-- | archaeological_context_records/tests.py | 42 | 
1 files changed, 41 insertions, 1 deletions
| diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index 1c900184c..b87f3ce4d 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -147,7 +147,6 @@ class ContextRecordInit(OperationInitTest):      def create_context_record(self, user=None, data={}, force=False):          if not getattr(self, 'context_records', None):              self.context_records = [] -          default = {'label': "Context record"}          if force or not data.get('operation'):              data['operation'] = self.get_default_operation(force=force) @@ -200,6 +199,47 @@ class ContextRecordTest(ContextRecordInit, TestCase):              cr.external_id,              u"{}-{}".format(cr.parcel.external_id, cr.label)) +    def test_lost_parcel_dont_delete_context_record(self): +        cr = self.create_context_record(force=True)[0] +        parcel = models.Parcel.objects.get(pk=cr.parcel.pk) +        parcel.operation = None +        parcel.save() +        self.assertEqual( +            models.ContextRecord.objects.filter(pk=cr.pk).count(), 1) +        # associated operation is restored +        self.assertEqual( +            models.Parcel.objects.get(pk=parcel.pk).operation, +            cr.operation +        ) + +    def test_cache_update(self): +        cr = self.create_context_record()[0] +        cr_pk = cr.pk +        # OP2010 - 1 | A | 1 | CR 1 +        ope_id, parcel_sec, parcel_nb, cr_label = cr.cached_label.split(' | ') +        self.assertEqual(ope_id, 'OP2010-1') +        self.assertEqual(parcel_sec, cr.parcel.section) +        self.assertEqual(parcel_nb, cr.parcel.parcel_number) +        self.assertEqual(cr_label, cr.label) + +        new_lbl = "UE 2" +        cr.label = new_lbl +        cr.save() +        cr = models.ContextRecord.objects.get(pk=cr_pk) +        ope_id, parcel_sec, parcel_nb, cr_label = cr.cached_label.split(' | ') +        self.assertEqual(cr_label, new_lbl) + +        new_sec, new_nb = "B", "42" +        parcel = cr.parcel +        parcel.section = new_sec +        parcel.parcel_number = new_nb +        parcel.save() +        cr = models.ContextRecord.objects.get(pk=cr_pk) +        ope_id, parcel_sec, parcel_nb, cr_label = cr.cached_label.split(' | ') +        self.assertEqual(parcel_sec, new_sec) +        self.assertEqual(parcel_nb, new_nb) + +  class ContextRecordSearchTest(ContextRecordInit, TestCase):      fixtures = ImportContextRecordTest.fixtures | 
