From cfaa4c3374051df1e6d01a006d889c953b071eb3 Mon Sep 17 00:00:00 2001 From: Romain Courteaud <romain@nexedi.com> Date: Fri, 31 Jul 2020 12:40:03 +0000 Subject: [PATCH] erp5_web_renderjs_ui: allow to jump to the same context Test jumping to the same context. Test also direct form rendering configured as jump action. --- .../portal_types/Bar/jump_to_form.xml | 85 ++++++++++++++++++ .../portal_types/Bar/jump_to_self.xml | 85 ++++++++++++++++++ .../erp5_ui_test/Base_jumpToSelf.py | 2 + .../erp5_ui_test/Base_jumpToSelf.xml | 66 ++++++++++++++ bt5/erp5_ui_test/bt/template_action_path_list | 2 + .../rjs_gadget_erp5_pt_form_jump_js.js | 43 +++++---- .../rjs_gadget_erp5_pt_form_jump_js.xml | 4 +- .../testFormJumpToForm.xml | 58 ++++++++++++ .../testFormJumpToForm.zpt | 89 +++++++++++++++++++ .../testFormJumpToSelf.xml | 58 ++++++++++++ .../testFormJumpToSelf.zpt | 86 ++++++++++++++++++ 11 files changed, 559 insertions(+), 19 deletions(-) create mode 100644 bt5/erp5_ui_test/ActionTemplateItem/portal_types/Bar/jump_to_form.xml create mode 100644 bt5/erp5_ui_test/ActionTemplateItem/portal_types/Bar/jump_to_self.xml create mode 100644 bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Base_jumpToSelf.py create mode 100644 bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Base_jumpToSelf.xml create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToForm.xml create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToForm.zpt create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToSelf.xml create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToSelf.zpt diff --git a/bt5/erp5_ui_test/ActionTemplateItem/portal_types/Bar/jump_to_form.xml b/bt5/erp5_ui_test/ActionTemplateItem/portal_types/Bar/jump_to_form.xml new file mode 100644 index 0000000000..0aa679f7c2 --- /dev/null +++ b/bt5/erp5_ui_test/ActionTemplateItem/portal_types/Bar/jump_to_form.xml @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple> + <string>action_type/object_jio_jump</string> + </tuple> + </value> + </item> + <item> + <key> <string>category</string> </key> + <value> <string>object_jio_jump</string> </value> + </item> + <item> + <key> <string>condition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>icon</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>jump_to_form</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>View</string> + </tuple> + </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Action Information</string> </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>3.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Related Form</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Expression" module="Products.CMFCore.Expression"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/bar_module/BarModule_viewBarList</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/ActionTemplateItem/portal_types/Bar/jump_to_self.xml b/bt5/erp5_ui_test/ActionTemplateItem/portal_types/Bar/jump_to_self.xml new file mode 100644 index 0000000000..119dbbf81a --- /dev/null +++ b/bt5/erp5_ui_test/ActionTemplateItem/portal_types/Bar/jump_to_self.xml @@ -0,0 +1,85 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>categories</string> </key> + <value> + <tuple> + <string>action_type/object_jio_jump</string> + </tuple> + </value> + </item> + <item> + <key> <string>category</string> </key> + <value> <string>object_jio_jump</string> </value> + </item> + <item> + <key> <string>condition</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>icon</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>jump_to_self</string> </value> + </item> + <item> + <key> <string>permissions</string> </key> + <value> + <tuple> + <string>View</string> + </tuple> + </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Action Information</string> </value> + </item> + <item> + <key> <string>priority</string> </key> + <value> <float>2.0</float> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string>Related Self</string> </value> + </item> + <item> + <key> <string>visible</string> </key> + <value> <int>1</int> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="Expression" module="Products.CMFCore.Expression"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>text</string> </key> + <value> <string>string:${object_url}/Base_jumpToSelf</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Base_jumpToSelf.py b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Base_jumpToSelf.py new file mode 100644 index 0000000000..96f0f2650e --- /dev/null +++ b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Base_jumpToSelf.py @@ -0,0 +1,2 @@ +return context.Base_redirect( + "Base_viewHistory", keep_items={'portal_status_message': 'Jumping to my history'}) diff --git a/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Base_jumpToSelf.xml b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Base_jumpToSelf.xml new file mode 100644 index 0000000000..d9ef0fb0d1 --- /dev/null +++ b/bt5/erp5_ui_test/SkinTemplateItem/portal_skins/erp5_ui_test/Base_jumpToSelf.xml @@ -0,0 +1,66 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>Base_jumpToSelf</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_ui_test/bt/template_action_path_list b/bt5/erp5_ui_test/bt/template_action_path_list index facab2d86e..16e917706d 100644 --- a/bt5/erp5_ui_test/bt/template_action_path_list +++ b/bt5/erp5_ui_test/bt/template_action_path_list @@ -1,6 +1,8 @@ Bar Module | multi_form_dialog Bar Module | view +Bar | jump_to_form Bar | jump_to_related_bar +Bar | jump_to_self Bar | list Bar | performance Bar | view diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_jump_js.js b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_jump_js.js index 44eb2f78c5..0f2a5f41e3 100644 --- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_jump_js.js +++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_jump_js.js @@ -40,25 +40,34 @@ return; } if (gadget.state.jio_key === result.jio_key) { - // don't update navigation history when not really redirecting - return gadget.redirect({command: 'cancel_dialog_with_history'}); - } - - splitted_jio_key_list = result.jio_key.split('/'); - if (splitted_jio_key_list.length < 2) { - // When going to a module, stick to the current document context, - // ie, display current document panel/header, but display the module form_list - // This is implemented by the page "jump" - command = 'display_with_history'; - result_dict.jio_key = gadget.state.jio_key; - result_dict.view = result.view; - result_dict.page = "jump"; + if ((!result.view) || (result.view === 'view')) { + // Do not redirect to a specific view + // It may probably mean that there is no document to jump to + // don't update navigation history when not really redirecting + command = 'cancel_dialog_with_history'; + } else { + command = 'display_with_history'; + result_dict.jio_key = gadget.state.jio_key; + result_dict.view = result.view; + result_dict.page = "jump"; + } } else { - command = 'push_history'; - result_dict.jio_key = result.jio_key; - result_dict.view = result.view; - } + splitted_jio_key_list = result.jio_key.split('/'); + if (splitted_jio_key_list.length < 2) { + // When going to a module, stick to the current document context, + // ie, display current document panel/header, but display the module form_list + // This is implemented by the page "jump" + command = 'display_with_history'; + result_dict.jio_key = gadget.state.jio_key; + result_dict.view = result.view; + result_dict.page = "jump"; + } else { + command = 'push_history'; + result_dict.jio_key = result.jio_key; + result_dict.view = result.view; + } + } // forced document change thus we update history return gadget.redirect({ diff --git a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_jump_js.xml b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_jump_js.xml index e65a98a5e3..9015b460e7 100644 --- a/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_jump_js.xml +++ b/bt5/erp5_web_renderjs_ui/PathTemplateItem/web_page_module/rjs_gadget_erp5_pt_form_jump_js.xml @@ -234,7 +234,7 @@ </item> <item> <key> <string>serial</string> </key> - <value> <string>981.337.64021.48674</string> </value> + <value> <string>985.40438.63970.10154</string> </value> </item> <item> <key> <string>state</string> </key> @@ -252,7 +252,7 @@ </tuple> <state> <tuple> - <float>1578410060.49</float> + <float>1596199151.01</float> <string>UTC</string> </tuple> </state> diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToForm.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToForm.xml new file mode 100644 index 0000000000..d5894a1142 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToForm.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>content_type</string> </key> + <value> <string>text/html</string> </value> + </item> + <item> + <key> <string>expand</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>testFormJumpToForm</string> </value> + </item> + <item> + <key> <string>output_encoding</string> </key> + <value> <string>utf-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <unicode></unicode> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToForm.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToForm.zpt new file mode 100644 index 0000000000..2e8557d604 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToForm.zpt @@ -0,0 +1,89 @@ +<html xmlns:tal="http://xml.zope.org/namespaces/tal" + xmlns:metal="http://xml.zope.org/namespaces/metal"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Test Page Front</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">Test Page Tab Link List</td></tr> +</thead><tbody> + +<tal:block metal:use-macro="here/PTZuite_CommonTemplate/macros/init" /> +<tr> + <td>open</td> + <td>${base_url}/bar_module/BarModule_createObjects?num:int=1</td> + <td></td> +</tr> +<tr> + <td>assertTextPresent</td> + <td>Created Successfully.</td> + <td></td> +</tr> + +<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" /> +<tr> + <td>open</td> + <td>${base_url}/web_site_module/renderjs_runner/#/bar_module</td> + <td></td> +</tr> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded" /> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" /> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query" /> + +<tal:block tal:define="search_query python: 'title:"Title 0"'"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/search_in_form_list" /> +</tal:block> + +<tal:block tal:define="click_configuration python: {'text': 'Title 0'}"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_page_link" /> +</tal:block> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> + +<tal:block tal:define="click_configuration python: {'text': 'Views'}"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_header_link" /> +</tal:block> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> +<tal:block tal:define="click_configuration python: {'text': 'Related Form'}"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_page_link" /> +</tal:block> + +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" /> + +<tal:block tal:define="parsed_query python: ''; + search_query python: ''"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/check_search_in_form_list" /> +</tal:block> + +<tr> + <td>assertElementPresent</td> + <td>//div[@data-gadget-scope='header']//a[text()='Bar: Title 0' and contains(@href, '#!history_previous')]</td> + <td></td> +</tr> + +<!-- Check the history link --> +<tr> + <td>click</td> + <td>//div[@data-gadget-scope='header']//a[text()='Bar: Title 0' and contains(@href, '#!history_previous')]</td> + <td></td> +</tr> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" /> + +<tal:block tal:define="parsed_query python: 'title: "Title 0"'; + search_query python: ''"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/check_search_in_form_list" /> +</tal:block> + +<tr> + <td>assertElementPresent</td> + <td>//div[@data-gadget-scope='header']//a[text()='Bars' and contains(@href, '#!history_previous')]</td> + <td></td> +</tr> + + +</tbody></table> +</body> +</html> \ No newline at end of file diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToSelf.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToSelf.xml new file mode 100644 index 0000000000..36e5f12abe --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToSelf.xml @@ -0,0 +1,58 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>content_type</string> </key> + <value> <string>text/html</string> </value> + </item> + <item> + <key> <string>expand</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>testFormJumpToSelf</string> </value> + </item> + <item> + <key> <string>output_encoding</string> </key> + <value> <string>utf-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <unicode></unicode> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToSelf.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToSelf.zpt new file mode 100644 index 0000000000..07ee6f26c7 --- /dev/null +++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_page_templates_zuite/testFormJumpToSelf.zpt @@ -0,0 +1,86 @@ +<html xmlns:tal="http://xml.zope.org/namespaces/tal" + xmlns:metal="http://xml.zope.org/namespaces/metal"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>Test Page Front</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr><td rowspan="1" colspan="3">Test Page Tab Link List</td></tr> +</thead><tbody> + +<tal:block metal:use-macro="here/PTZuite_CommonTemplate/macros/init" /> +<tr> + <td>open</td> + <td>${base_url}/bar_module/BarModule_createObjects?num:int=1</td> + <td></td> +</tr> +<tr> + <td>assertTextPresent</td> + <td>Created Successfully.</td> + <td></td> +</tr> + +<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" /> +<tr> + <td>open</td> + <td>${base_url}/web_site_module/renderjs_runner/#/bar_module</td> + <td></td> +</tr> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded" /> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" /> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/clear_query" /> + +<tal:block tal:define="click_configuration python: {'text': 'Title 0'}"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_page_link" /> +</tal:block> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> + +<tal:block tal:define="click_configuration python: {'text': 'Views'}"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_header_link" /> +</tal:block> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> +<tal:block tal:define="click_configuration python: {'text': 'Related Self'}"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/click_on_page_link" /> +</tal:block> +<!-- One loader for the form jump dialog submission --> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> +<!-- Another loader for loading the final page --> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> + +<tal:block tal:define="notification_configuration python: {'class': 'success', + 'text': 'Jumping to my history'}"> + <tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_notification" /> +</tal:block> + +<tr> + <td>assertElementPresent</td> + <td>//div[@data-gadget-scope='header']//a[text()='Bar: Title 0' and contains(@href, '#!history_previous')]</td> + <td></td> +</tr> +<tr> + <td>assertTextPresent</td> + <td>Bar Validation Workflow </td> + <td></td> +</tr> + +<!-- Check the history link --> +<tr> + <td>click</td> + <td>//div[@data-gadget-scope='header']//a[text()='Bar: Title 0' and contains(@href, '#!history_previous')]</td> + <td></td> +</tr> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" /> +<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" /> + +<tr> + <td>assertElementPresent</td> + <td>//div[@data-gadget-scope='header']//a[text()='Bars' and contains(@href, '#!history_previous')]</td> + <td></td> +</tr> + + +</tbody></table> +</body> +</html> \ No newline at end of file -- 2.30.9