From 7c3216dc90f8a0474d2d52239b89f9dbd2ad5e38 Mon Sep 17 00:00:00 2001 From: Jaime Pajuelo Date: Tue, 5 Apr 2016 19:38:55 +0200 Subject: [PATCH] Fix the ordering of endpoints from initial data. Fix #138 --- .../ui/WiringEditor/EndpointGroup.js | 3 ++- src/wirecloud/platform/wiring/tests.py | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/wirecloud/platform/static/js/wirecloud/ui/WiringEditor/EndpointGroup.js b/src/wirecloud/platform/static/js/wirecloud/ui/WiringEditor/EndpointGroup.js index d73bfae6da..171db3a0dc 100644 --- a/src/wirecloud/platform/static/js/wirecloud/ui/WiringEditor/EndpointGroup.js +++ b/src/wirecloud/platform/static/js/wirecloud/ui/WiringEditor/EndpointGroup.js @@ -174,7 +174,8 @@ var endpoint = this.endpoints[name]; endpoint.index = index; - this.removeChild(endpoint).appendChild(endpoint); + this.superMember(se.Container, 'removeChild', endpoint); + this.appendChild(endpoint); }, this); return this; diff --git a/src/wirecloud/platform/wiring/tests.py b/src/wirecloud/platform/wiring/tests.py index d5f8a6a072..d4cd3df6a7 100644 --- a/src/wirecloud/platform/wiring/tests.py +++ b/src/wirecloud/platform/wiring/tests.py @@ -1684,10 +1684,23 @@ def test_ordering_operator_endpoints(self): with self.wiring_view as wiring: with wiring.component_sidebar as sidebar: operator = sidebar.add_component('operator', "Wirecloud/TestOperatorMultiendpoint") + operator_id = operator.id + + targets_count = len(operator.find_endpoints('target')) + sources_count = len(operator.find_endpoints('target')) + with operator.order_endpoints as component_editable: component_editable.move_endpoint('source', "output1", "output2") component_editable.move_endpoint('target', "input1", "input3") + self.assertEqual(targets_count, len(operator.find_endpoints('target'))) + self.assertEqual(sources_count, len(operator.find_endpoints('source'))) + + with self.wiring_view as wiring: + operator = wiring.find_draggable_component('operator', id=operator_id) + self.assertEqual(targets_count, len(operator.find_endpoints('target'))) + self.assertEqual(sources_count, len(operator.find_endpoints('source'))) + @uses_extra_resources(('Wirecloud_TestMultiendpoint_1.0.wgt',), shared=True) def test_ordering_widget_endpoints(self): self.login() @@ -1702,10 +1715,21 @@ def test_ordering_widget_endpoints(self): target = operator.find_endpoint('target', 'input') connection = source.create_connection(target) + targets_count = len(widget.find_endpoints('target')) + sources_count = len(widget.find_endpoints('target')) + with widget.order_endpoints as component_editable: component_editable.move_endpoint('source', "output1", "output2", must_change=(connection,)) component_editable.move_endpoint('target', "input1", "input3") + self.assertEqual(targets_count, len(widget.find_endpoints('target'))) + self.assertEqual(sources_count, len(widget.find_endpoints('source'))) + + with self.wiring_view as wiring: + widget = wiring.find_draggable_component('widget', id=iwidget.id) + self.assertEqual(targets_count, len(widget.find_endpoints('target'))) + self.assertEqual(sources_count, len(widget.find_endpoints('source'))) + @wirecloud_selenium_test_case class BehaviourManagementTestCase(WirecloudSeleniumTestCase):