From 8cee4655b1b5e4da89e8c607ff3f0eb450358671 Mon Sep 17 00:00:00 2001
From: Flavio Tarsetti <Flavio.Tarsetti@idiap.ch>
Date: Thu, 28 Feb 2019 16:42:04 +0100
Subject: [PATCH] [test] updated and refactored tests

---
 beat/editor/test/test_editors.py | 62 ++++++++++++++++----------------
 1 file changed, 30 insertions(+), 32 deletions(-)

diff --git a/beat/editor/test/test_editors.py b/beat/editor/test/test_editors.py
index 74d190e2..c07db2d2 100644
--- a/beat/editor/test/test_editors.py
+++ b/beat/editor/test/test_editors.py
@@ -58,30 +58,28 @@ class MockAssetEditor(AbstractAssetEditor):
     def set_dataformat_model(self, model):
         self.dataformat_model = model
 
-    def load_json(self, json_object, widget_type):
+    def load_json(self, json_object):
         """Load the json object passed as parameter"""
 
-        if widget_type == "field":
-            for name, type_ in json_object.items():
-                field = FieldWidget(self.dataformat_model)
-                field.format_name = name
-                field.format_type = type_
-                self.layout().addWidget(field)
-        elif widget_type == "description":
-            short_text = json_object["short_description"]
-            self.description.form_description.setText(short_text)
-
-    def dump_json(self, widget_type):
+        for name, type_ in json_object["field"].items():
+            field = FieldWidget(self.dataformat_model)
+            field.format_name = name
+            field.format_type = type_
+            self.layout().addWidget(field)
+
+        short_text = json_object["description"]
+        self.description.form_description.setText(short_text)
+
+    def dump_json(self):
         """Returns the json representation of the asset"""
 
         json_data = {}
 
-        if widget_type == "field":
-            field_list = self.findChildren(FieldWidget)
-            for field in field_list:
-                json_data[field.format_name] = field.format_type
-        elif widget_type == "description":
-            json_data["short_description"] = self.description.short_description()
+        field_list = self.findChildren(FieldWidget)
+        json_data["field"] = {}
+        for field in field_list:
+            json_data["field"][field.format_name] = field.format_type
+        json_data["description"] = self.description.short_description()
 
         return json_data
 
@@ -95,13 +93,16 @@ class TestMockEditor:
     """Test that the mock editor works correctly"""
 
     def test_json_load_and_dump_field_widget(self, qtbot, dataformat_model):
-        json_reference = {"value32": "float32", "value64": "float64"}
+        json_reference = {
+            "field": {"value32": "float32", "value64": "float64"},
+            "description": "Short description test",
+        }
 
         widget = MockAssetEditor()
         widget.set_dataformat_model(dataformat_model)
-        widget.load_json(json_reference, "field")
+        widget.load_json(json_reference)
 
-        assert widget.dump_json("field") == json_reference
+        assert widget.dump_json() == json_reference
 
     def test_dataformat_creation_field_widget(self, qtbot, dataformat_model):
         widget = MockAssetEditor()
@@ -117,7 +118,10 @@ class TestMockEditor:
         field.format_name = "value32"
         field.format_type = "float32"
 
-        assert widget.dump_json("field") == {"value32": "float32"}
+        assert widget.dump_json() == {
+            "field": {"value32": "float32"},
+            "description": "",
+        }
 
         qtbot.mouseClick(widget.add_field_button, QtCore.Qt.LeftButton)
         fields = widget.findChildren(FieldWidget)
@@ -129,13 +133,7 @@ class TestMockEditor:
         field.format_name = "value64"
         field.format_type = "float64"
 
-        assert widget.dump_json("field") == {"value32": "float32", "value64": "float64"}
-
-    def test_json_load_and_dump_description_widget(self, qtbot):
-        json_reference = {"short_description": "Short description test"}
-
-        widget = MockAssetEditor()
-        widget.set_dataformat_model(dataformat_model)
-        widget.load_json(json_reference, "description")
-
-        assert widget.dump_json("description") == json_reference
+        assert widget.dump_json() == {
+            "field": {"value32": "float32", "value64": "float64"},
+            "description": "",
+        }
-- 
GitLab