Explorar o código

Added tests for new exporter and strategies

Vsevolod Levitan hai 1 ano
pai
achega
b50f347b91
Modificáronse 1 ficheiros con 33 adicións e 0 borrados
  1. 33 0
      tests/test_export.py

+ 33 - 0
tests/test_export.py

@@ -0,0 +1,33 @@
+import unittest
+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())
+
+        # Проверки
+        # print(csv)
+        assert isinstance(csv, str)
+        assert csv == expected