test_factory.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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 factory_test(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_nomenclature_list(self):
  25. # Подготовка
  26. items = start_factory.create_nomenclature_list()
  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[storage.nomenclature_key()])
  43. assert len(stor.data[storage.measurement_unit_key()])
  44. assert len(stor.data[storage.nomenclature_group_key()])
  45. #
  46. # Проверка работы класса start_factory
  47. #
  48. def test_start_factory(self):
  49. # Подготовка
  50. manager = settings_manager()
  51. strg = storage()
  52. factory = start_factory( manager.settings, strg)
  53. # Действие
  54. result = factory.create()
  55. # Проверка
  56. if manager.settings.is_first_run == True:
  57. assert len(result) > 0
  58. return
  59. assert len(result) == 0