import unittest from src.models.company_model import company_model from src.settings.settings_manager import settings_manager from src.models.measurement_unit_model import measurement_unit_model from src.models.nomenclature_group_model import nomenclature_group_model from src.models.nomenclature_model import nomenclature_model from src.models.warehouse_model import warehouse_model from src.models.abstract_reference import abstract_reference from src.errors.argument_exception import argument_exception from os import path class test_models(unittest.TestCase): def test_company(self): # Подготовка setman = settings_manager() setman.open(path.dirname(__file__) + "/../config/settings.json") sts = setman.settings # Действие company = company_model(sts) # Проверка assert isinstance(company, company_model) print("c", company.tax_id) print("s", sts.tax_id) assert company.tax_id == sts.tax_id assert company.bank_id == sts.bank_id assert company.bank_account_id == sts.bank_account_id assert company.property_type == sts.property_type def test_measurement_unit(self): # Подготовка g = measurement_unit_model() kg = measurement_unit_model(1000, g) # Действие # Проверка assert isinstance(g, measurement_unit_model) assert isinstance(kg, measurement_unit_model) assert g.to_base_unit(1) == 1 assert kg.to_base_unit(1) == 1000 def test_nomenclature(self): # Подготовка munit = measurement_unit_model() fn = "abc" nom = nomenclature_model(fn, munit, None) # Действие # Проверка assert isinstance(nom, nomenclature_model) assert nom.full_name == fn def test_base_name_validation(self): # Подготовка some = abstract_reference() fn = "abc" # Действие 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