From 7b397b211a66672a522fc4e1814df853326e7b55 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 10 Jul 2015 21:17:59 +0200 Subject: Parcel management: copy parcel from file to operation when associating a parcel from the file --- archaeological_files/tests.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'archaeological_files/tests.py') 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) + + -- cgit v1.2.3