test_factory.py 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. # Проверка создания и записи транзакций
  49. #
  50. def test_create_transactions(self):
  51. stor = storage()
  52. setman = settings_manager()
  53. setman.open(f"{os.path.dirname(__file__) + '/..'}/config/settings.json")
  54. st = setman.settings
  55. result = start_factory(st, stor).create_transactions()
  56. assert len(stor.data[stor.transaction_key()]) > 0
  57. #
  58. # Проверка работы класса start_factory
  59. #
  60. def test_start_factory(self):
  61. # Подготовка
  62. manager = settings_manager()
  63. strg = storage()
  64. factory = start_factory(manager.settings, strg)
  65. # Действие
  66. result = factory.create()
  67. # Проверка
  68. if manager.settings.is_first_run:
  69. assert len(result) > 0
  70. return
  71. assert len(result) == 0