diff options
Diffstat (limited to 'archaeological_operations/tests.py')
-rw-r--r-- | archaeological_operations/tests.py | 73 |
1 files changed, 68 insertions, 5 deletions
diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 808d999af..1e2cadc27 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -43,7 +43,7 @@ class ImportOperationTest(TestCase): '../archaeological_operations/fixtures/initial_data-fr.json'] def setUp(self): - user = User.objects.create_superuser('username') + self.username, self.password, self.user = create_superuser() def testImportDbfOperation(self): """ @@ -324,7 +324,7 @@ def create_orga(user): orga, created = Organization.objects.get_or_create(name='Operator', organization_type=orga_type, history_modifier=user) - return [orga] + return orga def create_operation(user, orga=None): dct = {'year':2010, 'operation_type_id':1, @@ -334,8 +334,71 @@ def create_operation(user, orga=None): operations = [models.Operation.objects.create(**dct)] return operations -class OperationTest(TestCase): +class OperationInitTest(object): + def create_user(self): + username, password, self.user = create_user() + + def get_default_user(self): + if not hasattr(self, 'user') or not self.user: + self.create_user() + return self.user + + def create_orgas(self, user=None): + if not user: + user = self.get_default_user() + self.orgas = [create_orga(user)] + return self.orgas + + def get_default_orga(self, user=None): + if not hasattr(self, 'orgas') or not self.orgas: + self.create_orgas(user) + return self.orgas[0] + + def create_towns(self, datas={}): + default = {'numero_insee':'12345', 'name':'default_town'} + default.update(datas) + town = models.Town.objects.create(**default) + if not hasattr(self, 'towns') or not self.towns: + self.towns = [] + self.towns.append(town) + return self.towns + + def get_default_town(self): + town = getattr(self, 'towns', None) + if not town: + self.create_towns() + town = self.towns[0] + return town + + def create_parcel(self, data={}): + default = {'town':self.get_default_town(), + 'section':'A', 'parcel_number':'1'} + default.update(data) + if not getattr(self, 'parcels', None): + self.parcels = [] + self.parcels.update(models.Parcel.objects.create(**default)) + return self.parcels + + def get_default_parcel(self): + return self.create_parcel()[0] + + def create_operation(self, user=None, orga=None): + if not orga: + self.get_default_orga(user) + if not user: + self.get_default_user() + if not getattr(self, 'operations', None): + self.operations = [] + self.operations.append(create_operation(user, orga)) + return self.operations + + def get_default_operation(self): + return self.create_operation()[0] + +class OperationTest(TestCase, OperationInitTest): fixtures = [settings.ROOT_PATH + + '../fixtures/initial_data.json', + settings.ROOT_PATH + '../ishtar_common/fixtures/initial_data.json', settings.ROOT_PATH + '../archaeological_files/fixtures/initial_data.json', @@ -347,8 +410,8 @@ class OperationTest(TestCase): self.alt_username, self.alt_password, self.alt_user = create_user() self.alt_user.user_permissions.add(Permission.objects.get( codename='view_own_operation')) - self.orgas = create_orga(self.user) - self.operations = create_operation(self.user, self.orgas[0]) + self.orgas = self.create_orgas(self.user) + self.operations = self.create_operation(self.user, self.orgas[0]) self.operations += create_operation(self.alt_user, self.orgas[0]) self.item = self.operations[0] |