summaryrefslogtreecommitdiff
path: root/archaeological_operations/tests.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-03 18:10:25 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-03 18:10:25 +0200
commit2dbe0a1d95c9785ddcd6db3772f2224505fb47b6 (patch)
tree2c2c143a4adbf21b5fac1e4521688a0a2bd9fba2 /archaeological_operations/tests.py
parent2c18fa15a97b59cd4d0065f1fd2629b7c9cb0623 (diff)
downloadIshtar-2dbe0a1d95c9785ddcd6db3772f2224505fb47b6.tar.bz2
Ishtar-2dbe0a1d95c9785ddcd6db3772f2224505fb47b6.zip
Serializations: operations, sites, parcels
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r--archaeological_operations/tests.py44
1 files changed, 37 insertions, 7 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py
index 647f0f86e..d0726fbdc 100644
--- a/archaeological_operations/tests.py
+++ b/archaeological_operations/tests.py
@@ -38,7 +38,7 @@ from django.utils.translation import ugettext_lazy as _, pgettext, pgettext_lazy
from . import models
from ishtar_common.views import document_deletion_steps
-from archaeological_operations import views
+from archaeological_operations import views, serializers
from ishtar_common.models import OrganizationType, Organization, ItemKey, \
ImporterType, IshtarUser, TargetKey, ImporterModel, IshtarSiteProfile, \
@@ -54,7 +54,7 @@ from ishtar_common import forms_common
from ishtar_common.tests import WizardTest, WizardTestFormData as FormData, \
create_superuser, create_user, TestCase, OPERATION_FIXTURES, \
AutocompleteTestBase, AcItem, OPERATION_TOWNS_FIXTURES, FILE_FIXTURES, \
- FILE_TOWNS_FIXTURES
+ COMMON_FIXTURES, GenericSerializationTest, WAREHOUSE_FIXTURES
class FileInit(object):
@@ -743,6 +743,35 @@ class ImportStepByStepTest(ImportTest, TestCase):
self.assertIn(error, response.content.decode('utf-8'))
+class SerializationTest(GenericSerializationTest, TestCase):
+ fixtures = COMMON_FIXTURES + WAREHOUSE_FIXTURES
+
+ def setUp(self):
+ self.username, self.password, self.user = create_superuser()
+ operation = create_operation(self.user,
+ values={"code_patriarche": "66666"})
+ site = models.ArchaeologicalSite.objects.create(
+ reference="ref-site"
+ )
+ operation.top_sites.add(site)
+ default = {"town": Town.objects.create(numero_insee="66666"),
+ "section": 'A', 'parcel_number': '1', "operation": operation}
+ parcel = models.Parcel.objects.create(**default)
+ models.ParcelOwner.objects.create(
+ parcel=parcel, owner=Person.objects.create(),
+ start_date=datetime.date.today(), end_date=datetime.date.today())
+
+ def test_serialization(self):
+ self.generic_serialization_test(serializers.operation_serialization)
+
+ def test_conf_restore(self):
+ current_number, zip_filename = self.generic_restore_test_genzip(
+ serializers.OPERATION_MODEL_LIST,
+ serializers.operation_serialization)
+ self.generic_restore_test(zip_filename, current_number,
+ serializers.OPERATION_MODEL_LIST)
+
+
class ParcelTest(ImportTest, TestCase):
fixtures = OPERATION_TOWNS_FIXTURES
@@ -1029,13 +1058,14 @@ class OperationInitTest(object):
self.create_towns()
return self.towns[0]
- def create_parcel(self, data={}):
+ def create_parcel(self, data=None):
default = {'town': self.get_default_town(),
'section': 'A', 'parcel_number': '1'}
if not hasattr(self, 'operations'):
self.create_operation()
default['operation'] = self.operations[0]
- default.update(data)
+ if data:
+ default.update(data)
if not getattr(self, 'parcels', None):
self.parcels = []
self.parcels.append(models.Parcel.objects.create(**default))
@@ -2721,7 +2751,7 @@ class SiteTest(TestCase, OperationInitTest):
codename='view_own_operation'))
self.orgas = self.create_orgas(self.user)
- def test_create_or_update_top_operation(self):
+ def test_create_or_update_top_operations(self):
operation_0 = self.create_operation(self.user, self.orgas[0])[0]
operation_1 = self.create_operation(self.alt_user, self.orgas[0])[1]
site = models.ArchaeologicalSite.objects.create(
@@ -2731,12 +2761,12 @@ class SiteTest(TestCase, OperationInitTest):
q = models.ArchaeologicalSite.objects.filter(reference='ref-site')
site = q.all()[0]
# creation not forced - no creation
- self.assertIsNone(site.top_operation)
+ self.assertEqual(site.top_operations.count(), 0)
site.create_or_update_top_operation(create=True)
site = q.all()[0]
# a default operation has been created
- self.assertIsNotNone(site.top_operation)
+ self.assertEqual(site.top_operations.count(), 1)
self.assertTrue(site.top_operation.virtual_operation)
self.assertEqual(site.top_operation.right_relations.count(), 0)