test_prototype.py 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. from src.models.recipe_model import recipe_model
  2. from src.models.measurement_unit_model import measurement_unit_model
  3. from src.models.nomenclature_group_model import nomenclature_group_model
  4. from src.models.nomenclature_model import nomenclature_model
  5. from src.storage.storage_prototype import storage_prototype
  6. from src.logic.start_factory import start_factory
  7. from src.settings.settings_manager import settings_manager
  8. from src.storage.storage import storage
  9. from datetime import datetime
  10. import unittest
  11. class test_prototype(unittest.TestCase):
  12. def test_prototype(self):
  13. """Проверить работу storage_prototype при фильтровании по дате"""
  14. manager = settings_manager()
  15. strg = storage()
  16. start = start_factory(manager.settings, strg)
  17. start.create()
  18. key = storage.transaction_key()
  19. data = start.storage.data[key]
  20. prototype = storage_prototype(data)
  21. start_date = datetime.strptime("2024-01-01", "%Y-%m-%d")
  22. stop_date = datetime.strptime("2024-01-10", "%Y-%m-%d")
  23. result = prototype.filter_dt(start_date, stop_date)
  24. assert isinstance(result, storage_prototype)
  25. def test_nomenclature(self):
  26. """Проверить работу storage_prototype при фильтровании по номенклатуре"""
  27. manager = settings_manager()
  28. strg = storage()
  29. start = start_factory(manager.settings, strg)
  30. start.create()
  31. key = storage.transaction_key()
  32. data = start.storage.data[key]
  33. prototype = storage_prototype(data)
  34. nom = nomenclature_model(
  35. "test",
  36. "Test",
  37. measurement_unit_model("unit"),
  38. nomenclature_group_model.create_group(),
  39. )
  40. result = prototype.filter_nom(nom)
  41. assert isinstance(result, storage_prototype)
  42. def test_recipe(self):
  43. """Проверить работу storage_prototype при фильтровании по рецепту"""
  44. manager = settings_manager()
  45. strg = storage()
  46. start = start_factory(manager.settings, strg)
  47. start.create()
  48. key = storage.transaction_key()
  49. data = start.storage.data[key]
  50. prototype = storage_prototype(data)
  51. recipe = recipe_model("Test")
  52. result = prototype.filter_recipe(recipe)
  53. assert isinstance(result, storage_prototype)