12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import json
- import unittest
- from src.export.strategies.json_export import json_export
- from src.models.recipe_model import recipe_model
- from src.models.nomenclature_group_model import nomenclature_group_model
- from src.models.nomenclature_model import nomenclature_model
- from src.models.ingredient_model import ingredient_model
- from src.export.strategies.csv_export import csv_export
- from src.export.exporter import exporter
- from src.models.measurement_unit_model import measurement_unit_model
- from src.storage.storage import storage
- #
- # Набор автотестов для проверки работы экспорта
- # #
- class test_export(unittest.TestCase):
- def test_csv_munits(self):
- # Подготовка
- strg = storage()
- munit1 = measurement_unit_model("g")
- munit2 = measurement_unit_model("kg")
- munit3 = measurement_unit_model("t")
- strg.data[strg.measurement_unit_key()] = [munit1, munit2, munit3]
- exp = exporter(csv_export())
- expected = f"base_coefficient;base_measurement_unit;id;name\n{munit1.base_coefficient};{str(munit1.base_measurement_unit)};{munit1.id};{munit1.name}\n{munit2.base_coefficient};{str(munit2.base_measurement_unit)};{munit2.id};{munit2.name}\n{munit3.base_coefficient};{str(munit3.base_measurement_unit)};{munit3.id};{munit3.name}"
- # Действие
- csv = exp.export_by_key(strg.measurement_unit_key())
- # Проверки
- assert isinstance(csv, str)
- assert csv == expected
- def test_json_recipe(self):
- strg = storage()
- nom = nomenclature_model(
- "A",
- "AA",
- measurement_unit_model("g"),
- nomenclature_group_model.create_group(),
- )
- ing = ingredient_model("AAA", nom, 10, nom.measurement_unit)
- rec = recipe_model.create("AAAA", [ing], ["1", "2", "3"])
- conv = exporter(json_export()).export_models([rec])
- conv = json.loads(conv)
- assert len(conv["items"][0]["ingredients"]) == 1
- assert (conv["items"][0]["id"]) == str(rec.id)
- assert len(conv["items"][0]["steps"]) == len(rec.steps)
|