from src.models.measurement_unit_model import measurement_unit_model from src.logic.start_factory import start_factory from src.settings.settings_manager import settings_manager import os import unittest from src.storage.storage import storage # # Набор автотестов для проверки работы фабричного метода # # class test_factory(unittest.TestCase): # # Проверка создания ед. измерения # def test_factory(self): # Подготовка unit = measurement_unit_model.create_kg() # Действие # Проверки assert isinstance(unit, measurement_unit_model) assert unit.base_coefficient == 1000 # # Проверка создание начальной номенклатуры # def test_create_recipes(self): # Подготовка items = start_factory.create_recipes() # действие # Прверки assert len(items) > 0 # # Проверка создания и записи списка номенклатур # def test_create(self): # Подготовка stor = storage() setman = settings_manager() setman.open(f"{os.path.dirname(__file__) + '/..'}/config/settings.json") st = setman.settings start_factory(st, stor).create() # Действие # Проверка assert len(stor.data[stor.nomenclature_key()]) > 0 assert len(stor.data[stor.measurement_unit_key()]) > 0 assert len(stor.data[stor.nomenclature_group_key()]) > 0 assert len(stor.data[stor.ingredient_key()]) > 0 assert len(stor.data[stor.recipe_key()]) > 0 # # Проверка создания и записи транзакций # def test_create_transactions(self): stor = storage() setman = settings_manager() setman.open(f"{os.path.dirname(__file__) + '/..'}/config/settings.json") st = setman.settings result = start_factory(st, stor).create_transactions() assert len(stor.data[stor.transaction_key()]) > 0 # # Проверка работы класса start_factory # def test_start_factory(self): # Подготовка manager = settings_manager() strg = storage() factory = start_factory(manager.settings, strg) # Действие result = factory.create() # Проверка if manager.settings.is_first_run: assert len(result) > 0 return assert len(result) == 0