Commit 7c179dbd authored by Romain Courteaud's avatar Romain Courteaud

[erp5_web_renderjs_ui] Multirelationfield: fix editing

Only send line data if the text is not empty and ensure there is no hole
in the uid list.
This will fix the edition when the field already contains some homonyms.

Only append empty input if the latest one is not empty.

Replace verify by assert in the tests.
parent d2d6503b
......@@ -106,8 +106,11 @@
// Always display an empty value at the end
value_relative_url_list.push("");
value_text_list.push("");
if ((value_text_list.length === 0) ||
(value_text_list[value_text_list.length - 1] !== "")) {
value_relative_url_list.push("");
value_text_list.push("");
}
// Clear first to DOM, append after to reduce flickering/manip
while (element.firstChild) {
......@@ -196,7 +199,7 @@
var result = {},
j,
k = 0,
empty_line_count = 0,
input_result;
if (options.format === "erp5") {
......@@ -216,16 +219,19 @@
if (input_result.hasOwnProperty('value_text')) {
if (input_result.value_text) {
if (input_result.value_portal_type) {
result[gadget.state.relation_field_id + '_' + k] =
result[gadget.state.relation_field_id + '_' +
(j - empty_line_count)] =
"_newContent_" + input_result.value_portal_type;
} else if (input_result.value_uid) {
result[gadget.state.relation_field_id + '_' + k] =
result[gadget.state.relation_field_id + '_' +
(j - empty_line_count)] =
input_result.value_uid;
}
result[gadget.state.key].push(input_result.value_text);
} else {
empty_line_count += 1;
}
}
k += 1;
} else {
result[gadget.state.key].value_text_list
.push(input_result.value_text);
......@@ -233,7 +239,8 @@
.push(input_result.value_relative_url);
result[gadget.state.key].value_portal_type_list
.push(input_result.value_portal_type);
result[gadget.state.key].value_uid_list.push(undefined);
result[gadget.state.key].value_uid_list
.push(input_result.value_uid || undefined);
}
}
//user remove all data
......
......@@ -228,7 +228,7 @@
</item>
<item>
<key> <string>serial</string> </key>
<value> <string>971.7721.48108.61320</string> </value>
<value> <string>976.44236.22845.43076</string> </value>
</item>
<item>
<key> <string>state</string> </key>
......@@ -246,7 +246,7 @@
</tuple>
<state>
<tuple>
<float>1542795524.78</float>
<float>1561643243.53</float>
<string>UTC</string>
</tuple>
</state>
......
......@@ -93,7 +93,7 @@
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope="field_my_successor_title"]//input</td>
<td></td>
</tr>
......
......@@ -210,7 +210,7 @@
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//a[@data-i18n="Actions"]</td>
<td></td>
</tr>
......
......@@ -168,21 +168,21 @@
<!-- test sort -->
<tr>
<td>verifyAttribute</td>
<td>assertAttribute</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//ul[@class='search_ul']/li[1]@data-relative-url</td>
<td>foo_module/4</td>
</tr>
<tr>
<td>verifyAttribute</td>
<td>assertAttribute</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//ul[@class='search_ul']/li[2]@data-relative-url</td>
<td>foo_module/3</td>
</tr>
<!-- test parameter list -->
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//ul[@class='search_ul']//li[@data-relative-url='foo_module/5']</td>
<td></td>
</tr>
......@@ -219,7 +219,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_listbox']//tbody/tr[2]//a[contains(text(), '3')]</td>
<td></td>
</tr>
......@@ -227,7 +227,7 @@
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_listbox']//a[contains(text(), '5')]</td>
<td></td>
</tr>
......
......@@ -152,7 +152,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//a[contains(@class, "ui-icon-plus")]</td>
<td></td>
</tr>
......@@ -193,7 +193,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//a[contains(@class, "ui-icon-plus")]</td>
<td></td>
</tr>
......@@ -209,13 +209,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td>Another Foo</td>
</tr>
......@@ -235,7 +235,7 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/verify_is_editable_mode" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_title"]//input</td>
<td>A New Foo</td>
</tr>
......@@ -264,7 +264,7 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/verify_is_editable_mode" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_title"]//input</td>
<td>Another Foo</td>
</tr>
......
......@@ -57,7 +57,7 @@
<td>//a[@data-i18n='Views']</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tr>
<td>storeLocation</td>
......@@ -65,7 +65,6 @@
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/wait_for_activities" />
<tr>
......@@ -73,24 +72,20 @@
<td>${url}</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded" />
<tr>
<td>waitForElementPresent</td>
<td>//a[@data-i18n='Relation Fields']</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//a[@data-i18n='Relation Fields']</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tr>
<td>waitForElementPresent</td>
<td>//input[@name='field_my_foo_category_title']</td>
<td></td>
<td colspan="3"><b>Fill required field</b></td>
</tr>
<tr>
......@@ -124,15 +119,33 @@
<td></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Select an existing document in the relation field first line</b></td>
</tr>
<tr>
<td>type</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
......@@ -164,10 +177,9 @@
<td></td>
</tr>
<tr>
<td colspan="3"><b>Trigger a search in the relation field new second line</b></td>
</tr>
<tr>
<td>waitForElementPresent</td>
......@@ -177,7 +189,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td></td>
</tr>
......@@ -236,7 +248,7 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_title"]</td>
<td>TEST</td>
</tr>
......@@ -250,44 +262,81 @@
<tr>
<td>verifyValue</td>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td>2</td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[4]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td>verifyValue</td>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td>TEST</td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[4]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>3</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td>2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[4]</td>
<td></td>
</tr>
......
......@@ -57,13 +57,36 @@
<td>//a[text()="Relation Fields"]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tr>
<td>waitForElementPresent</td>
<td>//input[@name="field_my_bar_category_title_list"]</td>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]</td>
<td></td>
</tr>
<!-- Actual test -->
<tr>
<td colspan="3"><b>Type the homonym in the mulit relation field and choose the whatever element (second for instance)</b></td>
</tr>
<tr> <!-- type the homonym in the mulit relation field and choose the whatever element (second for instance) -->
<td>type</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
......@@ -86,6 +109,43 @@
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>add another entry to the multi relation field</b></td>
</tr>
<tr> <!-- add another entry to the multi relation field -->
<td>type</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
......@@ -108,21 +168,49 @@
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr> <!-- Check field values -->
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td>Title2</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[4]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td>2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[4]</td>
<td></td>
</tr>
</tbody></table>
</body>
......
<?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>testMultiRelationFieldHomonymsAndDelete</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>
<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 RenderJS UI</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<!-- Clean Up -->
<tr>
<td>open</td>
<td>${base_url}/foo_module/ListBoxZuite_reset</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Reset Successfully.</td>
<td></td>
</tr>
<!-- Initialize -->
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_createObjects?num:int=2&amp;title_format=Title0</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Created Successfully.</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_createObjects?start:int=2&amp;num:int=2&amp;title_format=Title{index:d}</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/#/foo_module/3?editable=true</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded" />
<tr>
<td>click</td>
<td>//a[text()="Relation Fields"]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]</td>
<td></td>
</tr>
<!-- Actual test -->
<tr>
<td colspan="3"><b>add entry to the multi relation field</b></td>
</tr>
<tr> <!-- add entry to the multi relation field -->
<td>type</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>Title2</td>
</tr>
<tr>
<td>fireEvent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>input</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//ul[@class="search_ul"]//li</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//ul[@class="search_ul"]/li[1]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>Title2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>type the homonym in the mulit relation field and choose the whatever element (second for instance)</b></td>
</tr>
<tr> <!-- type the homonym in the mulit relation field and choose the whatever element (second for instance) -->
<td>type</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>fireEvent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td>input</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//ul[@class="search_ul"]//li</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//ul[@class="search_ul"]/li[2]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr> <!-- Check field values -->
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>Title2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[4]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td>0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[4]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>delete the field value</b></td>
</tr>
<!-- delete the field value -->
<tr>
<td>type</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>fireEvent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>input</td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr> <!-- Check field values -->
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
<?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>testMultiRelationFieldHomonymsAndSearch</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>
<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 RenderJS UI</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr>
</thead><tbody>
<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />
<!-- Clean Up -->
<tr>
<td>open</td>
<td>${base_url}/foo_module/ListBoxZuite_reset</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Reset Successfully.</td>
<td></td>
</tr>
<!-- Initialize -->
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_createObjects?num:int=2&amp;title_format=Title0</td>
<td></td>
</tr>
<tr>
<td>assertTextPresent</td>
<td>Created Successfully.</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>${base_url}/foo_module/FooModule_createObjects?start:int=2&amp;num:int=2&amp;title_format=Title{index:d}</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/#/foo_module/3?editable=true</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_app_loaded" />
<tr>
<td>click</td>
<td>//a[text()="Relation Fields"]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]</td>
<td></td>
</tr>
<!-- Actual test -->
<tr>
<td colspan="3"><b>type the homonym in the mulit relation field and choose the whatever element (second for instance)</b></td>
</tr>
<tr> <!-- type the homonym in the mulit relation field and choose the whatever element (second for instance) -->
<td>type</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>fireEvent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>input</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//ul[@class="search_ul"]//li</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//ul[@class="search_ul"]/li[2]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>add another entry to the multi relation field</b></td>
</tr>
<tr> <!-- add another entry to the multi relation field -->
<td>type</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td>Title2</td>
</tr>
<tr>
<td>fireEvent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td>input</td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//ul[@class="search_ul"]//li</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>//li[@data-explore="true"]</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>click</td>
<td>//tbody/tr[1]//a</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_content_loaded" />
<tr>
<td colspan="3"><b>When coming back from a search listbox, the relation field rendering is done in a service</b></td>
</tr>
<tr>
<td>waitForElementPresent</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//a[@class="ui-btn ui-corner-all ui-btn-icon-notext ui-icon-plane ui-shadow-inset ui-btn-inline"]</td>
<td></td>
</tr>
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr> <!-- Check field values -->
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td>Title2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[4]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]</td>
<td></td>
</tr>
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td colspan="3"><b>Check multi relation field display</b></td>
</tr>
<tr> <!-- Check field values -->
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[1]//input</td>
<td>Title0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[2]//input</td>
<td>Title2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_bar_category_title_list"]//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[4]</td>
<td></td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[1]//input</td>
<td>0</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[2]//input</td>
<td>2</td>
</tr>
<tr>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[3]//input</td>
<td></td>
</tr>
<tr>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_id_list']//fieldset[4]</td>
<td></td>
</tr>
</tbody></table>
</body>
</html>
\ No newline at end of file
......@@ -142,7 +142,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//a[contains(@class, "ui-icon-plus")]</td>
<td></td>
</tr>
......@@ -183,7 +183,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//a[contains(@class, "ui-icon-plus")]</td>
<td></td>
</tr>
......@@ -199,13 +199,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td>Another Foo</td>
</tr>
......
......@@ -149,7 +149,7 @@
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
......@@ -192,7 +192,7 @@
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td></td>
</tr>
......
......@@ -177,7 +177,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td></td>
</tr>
......@@ -260,7 +260,7 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_title"]</td>
<td>TEST</td>
</tr>
......@@ -274,7 +274,7 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
......@@ -284,13 +284,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td>2</td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td></td>
</tr>
......@@ -298,19 +298,19 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td>TEST</td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td></td>
</tr>
......
......@@ -126,7 +126,7 @@
<!-- a integer field is used to render the quantity on this listbox -->
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_listbox']//tbody/tr[1]//a//div[@class='floatfield']//p[contains(text(), '0')]</td>
<td></td>
</tr>
......
......@@ -153,7 +153,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//a[contains(@class, "ui-icon-warning")]</td>
<td></td>
</tr>
......
......@@ -121,7 +121,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td></td>
</tr>
......@@ -230,13 +230,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_title"]</td>
<td>TEST</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_foo_line_foo_category_title"]</td>
<td>TEST1</td>
</tr>
......@@ -256,7 +256,7 @@
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
......@@ -267,14 +267,14 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td>search</td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[3]</td>
<td></td>
</tr>
......@@ -369,7 +369,7 @@
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//input[@name="field_my_title"]</td>
<td>TEST</td>
</tr>
......@@ -377,7 +377,7 @@
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//input[@name="field_my_foo_line_foo_category_title"]</td>
<td>TEST1</td>
</tr>
......@@ -391,19 +391,19 @@
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>A New Foo</td>
</tr>
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//div[@class="ui-tag-list ui-tag-list-inset"]//li</td>
<td></td>
</tr>
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]</td>
<td></td>
</tr>
......
......@@ -199,13 +199,13 @@
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//th/a[text()="Title"]</td>
<td></td>
</tr>
<tr><th colspan="3"><font color="red">Quatity is not sortable but there is a catalog column of such name</font></th></tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//th/a[text()="Quantity"]</td><!-- Should be only //th[text()="Quantity"] -->
<td></td>
</tr>
......@@ -284,19 +284,19 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//tbody//tr[1]</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//tbody//tr[2]</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//tbody//tr[3]</td>
<td></td>
</tr>
......@@ -325,13 +325,13 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//tbody//tr[1]</td>
<td></td>
</tr>
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//tbody//tr[2]</td>
<td></td>
</tr>
......@@ -361,20 +361,20 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//tbody//tr[1]</td>
<td></td>
</tr>
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//tbody//tr[2]</td>
<td></td>
</tr>
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//tbody//tr[3]</td>
<td></td>
</tr>
......@@ -392,14 +392,14 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//tbody//tr[1]</td>
<td></td>
</tr>
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//tbody//tr[2]</td>
<td></td>
</tr>
......
......@@ -168,21 +168,21 @@
<!-- test sort -->
<tr>
<td>verifyAttribute</td>
<td>assertAttribute</td>
<td>//div[@data-gadget-scope='field_my_successor_title']//ul[@class='search_ul']/li[1]@data-relative-url</td>
<td>foo_module/4</td>
</tr>
<tr>
<td>verifyAttribute</td>
<td>assertAttribute</td>
<td>//div[@data-gadget-scope='field_my_successor_title']//ul[@class='search_ul']/li[2]@data-relative-url</td>
<td>foo_module/3</td>
</tr>
<!-- test parameter list -->
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_my_successor_title']//ul[@class='search_ul']//li[@data-relative-url='foo_module/5']</td>
<td></td>
</tr>
......@@ -211,7 +211,7 @@
<!-- test sort -->
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_listbox']//tbody/tr[1]//a[contains(text(), '4')]</td>
<td></td>
</tr>
......@@ -219,7 +219,7 @@
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//div[@data-gadget-scope='field_listbox']//tbody/tr[2]//a[contains(text(), '3')]</td>
<td></td>
</tr>
......@@ -227,7 +227,7 @@
<tr>
<td>verifyElementNotPresent</td>
<td>assertElementNotPresent</td>
<td>//div[@data-gadget-scope='field_listbox']//a[contains(text(), '5')]</td>
<td></td>
</tr>
......
......@@ -106,7 +106,7 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_foo_category_title']</td>
<td>a1</td>
</tr>
......
......@@ -146,13 +146,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_successor_title']</td>
<td>A new foo</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_foo_category_title']</td>
<td>a1</td>
</tr>
......@@ -168,7 +168,7 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/verify_is_editable_mode" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope="field_my_title"]//input</td>
<td>A new foo</td>
</tr>
......
......@@ -176,13 +176,13 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_successor_title"]</td>
<td>2</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_title"]</td>
<td>TEST</td>
</tr>
......@@ -190,12 +190,12 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_successor_title"]</td>
<td>TEST</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_title"]</td>
<td>TEST</td>
</tr>
......
......@@ -145,13 +145,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_successor_title']</td>
<td>A new foo</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_foo_category_title']</td>
<td>a1</td>
</tr>
......
......@@ -87,7 +87,7 @@
<td></td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_successor_title']</td>
<td>A new foo</td>
</tr>
......
......@@ -59,7 +59,7 @@
<!-- Check the relation field is up to date -->
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_foo_category_title"]</td>
<td>a</td>
</tr>
......@@ -87,7 +87,7 @@
<!-- Check the element is updated, not re-created -->
<tr>
<td>verifyElementPresent</td>
<td>assertElementPresent</td>
<td>//input[@name="field_my_foo_category_title" and @test-relation-field-refresh="1"]</td>
<td></td>
</tr>
......@@ -95,7 +95,7 @@
<!-- Here waitForTextNotPresent or waitForElementPresent passes no matter the state of the field, because the field is updated in javascript (not in html attributes) and so the selection //input[@value=''] does not work. -->
<!-- When not passing, you can see that the plane is correctly replaced by a magnifying glass, as if the field was only partly updated -->
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_foo_category_title"]</td>
<td></td>
</tr>
......
......@@ -198,13 +198,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_successor_title"]</td>
<td>2</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_title"]</td>
<td>TEST</td>
</tr>
......@@ -212,12 +212,12 @@
<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_successor_title"]</td>
<td>TEST</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_title"]</td>
<td>TEST</td>
</tr>
......
......@@ -296,13 +296,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_short_title"]</td>
<td>TEST</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name="field_my_foo_big_category_title"]</td>
<td>TEST1</td>
</tr>
......@@ -316,7 +316,7 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//select[@name="field_my_local_title"]</td>
<td>First title</td>
</tr>
......@@ -329,28 +329,28 @@
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//tbody//tr[1]//div[@data-gadget-scope="INPUT"]//input</td>
<td>2000-12-12</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//tbody//tr[1]//input[@title="Quantity"]</td>
<td>2.3</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//tbody//tr[2]//div[@data-gadget-scope="INPUT"]//input</td>
<td>2012-12-12</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//tbody//tr[2]//input[@title="Quantity"]</td>
<td>10.1</td>
</tr>
......@@ -438,13 +438,13 @@
</tr>
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//input[@name="field_my_short_title"]</td>
<td>TEST</td>
</tr>
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//input[@name="field_my_foo_big_category_title"]</td>
<td>TEST1</td>
</tr>
......@@ -458,7 +458,7 @@
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//select[@name="field_my_local_title"]</td>
<td>First title</td>
</tr>
......@@ -471,28 +471,28 @@
</tr>
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//tbody//tr[1]//div[@data-gadget-scope="INPUT"]//input</td>
<td>2000-12-12</td>
</tr>
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//tbody//tr[1]//input[@title="Quantity"]</td>
<td>2.3</td>
</tr>
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//tbody//tr[2]//div[@data-gadget-scope="INPUT"]//input</td>
<td>2012-12-12</td>
</tr>
<tr>
<td>verifyNotValue</td>
<td>assertNotValue</td>
<td>//tbody//tr[2]//input[@title="Quantity"]</td>
<td>10.1</td>
</tr>
......
......@@ -224,13 +224,13 @@
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[1]//input</td>
<td>TEST</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//div[@data-gadget-scope='field_my_bar_category_title_list']//fieldset[2]//input</td>
<td>TEST</td>
</tr>
......
......@@ -148,13 +148,13 @@
</tr>
-->
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_successor_title']</td>
<td>azértï</td>
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_foo_category_title']</td>
<td>a1</td>
</tr>
......@@ -173,7 +173,7 @@
</tr>
<tr>
<td>verifyValue</td>
<td>assertValue</td>
<td>//input[@name='field_my_title']</td>
<td>azértï</td>
</tr>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment