Procházet zdrojové kódy

Fixed issues with name argument not being forwarded to abstract_reference

Vsevolod Levitan před 1 rokem
rodič
revize
3753fa96c9

+ 2 - 2
src/models/abstract_reference.py

@@ -45,9 +45,9 @@ class abstract_reference(ABC):
    
     @name.setter 
     def name(self, value: str):
+        self.__vtor.check_type(value, str)
         value = value.strip()
-        validator.check_type(value, str)
-        validator.check_length_bound(value, 1, 50)
+        self.__vtor.check_length_bound(value, 1, 50)
         
         self.__name = value
         

+ 3 - 1
src/models/company_model.py

@@ -16,7 +16,7 @@ class company_model (abstract_reference):
     __vtor = validator()
 
 
-    def __init__(self, data: settings):
+    def __init__(self, name, data: settings):
         """
         Args:
             data (settings): Объект настроек с данными организации
@@ -28,6 +28,8 @@ class company_model (abstract_reference):
         self.__bank_account_id = data.bank_account_id
         self.__property_type = data.property_type
 
+        super().__init__(name)
+
     @property
     def tax_id(self):
         """ИНН"""

+ 3 - 1
src/models/measurement_unit_model.py

@@ -10,7 +10,7 @@ class measurement_unit_model (abstract_reference):
 
     __vtor = validator()
 
-    def __init__(self, base_coefficient = 1, base_measurement=None):
+    def __init__(self, name, base_coefficient = 1, base_measurement=None):
         """
         Args:
             base_measurement (measurement_unit_model): Базовая единица измерения
@@ -22,6 +22,8 @@ class measurement_unit_model (abstract_reference):
 
         self.__base_measurement_unit = base_measurement
         self.__base_coefficient = base_coefficient
+
+        super().__init__(name)
         
 
     @property

+ 2 - 1
src/models/nomenclature_group_model.py

@@ -1,4 +1,5 @@
 from src.models.abstract_reference import abstract_reference
 
 class nomenclature_group_model (abstract_reference):
-    pass
+    def __init__(self, name):
+        super().__init__(name)

+ 3 - 1
src/models/nomenclature_model.py

@@ -14,7 +14,7 @@ class nomenclature_model(abstract_reference):
     __vtor = validator()
 
 
-    def __init__(self, full_name, measurement_unit, nomenclature_group):
+    def __init__(self, name, full_name, measurement_unit, nomenclature_group):
         """
         Args:
             full_name (str): Полное наименование (до 256 символов)
@@ -31,6 +31,8 @@ class nomenclature_model(abstract_reference):
         self.__measurement_unit = measurement_unit
         self.__nomenclature_group = nomenclature_group
 
+        super().__init__(name)
+
     @property
     def full_name(self):
         """Полное наименование (до 256 символов)"""

+ 7 - 9
tests/test_models.py

@@ -18,7 +18,7 @@ class test_models(unittest.TestCase):
         sts = setman.settings
     
         # Действие
-        company = company_model(sts)
+        company = company_model("Test company", sts)
     
         # Проверка
         assert isinstance(company, company_model)
@@ -31,8 +31,8 @@ class test_models(unittest.TestCase):
         
     def test_measurement_unit(self):
         # Подготовка
-        g = measurement_unit_model()
-        kg = measurement_unit_model(1000, g)
+        g = measurement_unit_model("Граммы")
+        kg = measurement_unit_model("Килограммы", 1000, g)
     
         # Действие
         
@@ -45,9 +45,9 @@ class test_models(unittest.TestCase):
 
     def test_nomenclature(self):
         # Подготовка
-        munit = measurement_unit_model()
+        munit = measurement_unit_model("Test munit")
         fn = "abc"
-        nom = nomenclature_model(fn, munit, None)
+        nom = nomenclature_model("Test nomenclature", fn, munit, nomenclature_group_model("Test ng"))
     
         # Действие
         
@@ -58,16 +58,14 @@ class test_models(unittest.TestCase):
         
     def test_base_name_validation(self):
         # Подготовка
-        some = abstract_reference()
         fn = "abc"
+        some = abstract_reference(fn)
+        fn *= 2
     
         # Действие
         some.name = fn
     
         # Проверка
-        self.assertRaises(argument_exception, some.name(""))
-        self.assertRaises(argument_exception, some.name(" " * 51))
-        self.assertRaises(argument_exception, 10)
         assert some.name == fn