test_factory.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. from src.models.measurement_unit_model import measurement_unit_model
  2. from src.logic.start_factory import start_factory
  3. from src.settings.settings_manager import settings_manager
  4. import os
  5. import unittest
  6. from src.storage.storage import storage
  7. #
  8. # Набор автотестов для проверки работы фабричного метода
  9. # #
  10. class test_factory(unittest.TestCase):
  11. #
  12. # Проверка создания ед. измерения
  13. #
  14. def test_factory(self):
  15. # Подготовка
  16. unit = measurement_unit_model.create_kg()
  17. # Действие
  18. # Проверки
  19. assert isinstance(unit, measurement_unit_model)
  20. assert unit.base_coefficient == 1000
  21. #
  22. # Проверка создание начальной номенклатуры
  23. #
  24. def test_create_recipes(self):
  25. # Подготовка
  26. items = start_factory.create_recipes()
  27. # действие
  28. # Прверки
  29. assert len(items) > 0
  30. #
  31. # Проверка создания и записи списка номенклатур
  32. #
  33. def test_create(self):
  34. # Подготовка
  35. stor = storage()
  36. setman = settings_manager()
  37. setman.open(f"{os.path.dirname(__file__) + '/..'}/config/settings.json")
  38. st = setman.settings
  39. start_factory(st, stor).create()
  40. # Действие
  41. # Проверка
  42. assert len(stor.data[stor.nomenclature_key()]) > 0
  43. assert len(stor.data[stor.measurement_unit_key()]) > 0
  44. assert len(stor.data[stor.nomenclature_group_key()]) > 0
  45. assert len(stor.data[stor.ingredient_key()]) > 0
  46. assert len(stor.data[stor.recipe_key()]) > 0
  47. #
  48. # Проверка работы класса start_factory
  49. #
  50. def test_start_factory(self):
  51. # Подготовка
  52. manager = settings_manager()
  53. strg = storage()
  54. factory = start_factory(manager.settings, strg)
  55. # Действие
  56. result = factory.create()
  57. # Проверка
  58. if manager.settings.is_first_run:
  59. assert len(result) > 0
  60. return
  61. assert len(result) == 0