diff options
Diffstat (limited to 'archaeological_files/tests.py')
| -rw-r--r-- | archaeological_files/tests.py | 26 | 
1 files changed, 26 insertions, 0 deletions
diff --git a/archaeological_files/tests.py b/archaeological_files/tests.py index 312c0402d..f24a29582 100644 --- a/archaeological_files/tests.py +++ b/archaeological_files/tests.py @@ -225,3 +225,29 @@ class FileOperationTest(TestCase, OperationInitTest, FileInit):          # parcel owner well attached          q = ParcelOwner.objects.filter(parcel__associated_file=self.item)          self.assertEqual(q.count(), 1) + +        # when attaching parcel from a file to an operation, copy is done +        parcel = Parcel.objects.create(parcel_number='42', +                                 section='ZZ', +                                 town=default_town, +                                 associated_file=self.item) +        ParcelOwner.objects.create( +                owner=self.extra_models['person'], +                parcel=parcel, start_date=datetime.date.today(), +                end_date=datetime.date.today()) +        parcel.operation = self.operation +        parcel.save() +        # double reference to operation and associated_file is deleted +        self.assertEqual(parcel.operation, None) +        # now 2 objects with the same parameters +        q = Parcel.objects.filter(parcel_number='42', section='ZZ', +                                  town=default_town) +        self.assertEqual(q.count(), 2) +        q = q.filter(operation=self.operation, associated_file=None) +        self.assertEqual(q.count(), 1) +        # parcel owner well attached +        q = ParcelOwner.objects.filter(parcel__operation=self.operation, +                                       parcel__parcel_number='42') +        self.assertEqual(q.count(), 1) + +  | 
