diff options
| author | Étienne Loks <etienne.loks@proxience.com> | 2015-01-24 18:46:27 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@proxience.com> | 2015-01-24 18:46:27 +0100 | 
| commit | 8f16d7e4515d77cd2b0a4e0b8edfcb1c4d0430f0 (patch) | |
| tree | 240a04d141dbbce702de39f17b6859fb888a342e /archaeological_operations/tests.py | |
| parent | 3af157dd8916bd2a77d9a7b37ab66b810e545dba (diff) | |
| download | Ishtar-8f16d7e4515d77cd2b0a4e0b8edfcb1c4d0430f0.tar.bz2 Ishtar-8f16d7e4515d77cd2b0a4e0b8edfcb1c4d0430f0.zip | |
Prevent incoherent RelationType
* check that no relation type with symmetrical=True and an inverse relation are
  set
* after saving check that theinverse_relation of the inverse_relation
  point to the saved object
* test update
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] | 
