Commit a262cf45 authored by Yoshinori Okuji's avatar Yoshinori Okuji

2006-07-18 yo

* Add a test for listbox with dynamically generated domains.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@8498 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent a501d47f
......@@ -60,7 +60,7 @@
</item>
<item>
<key> <string>id</string> </key>
<value> <string>foo_category</string> </value>
<value> <string>foo_category</string> </value>
</item>
<item>
<key> <string>last_id</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.ERP5Type.Document.BaseDomain</string>
<string>BaseDomain</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_count</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
</value>
</item>
<item>
<key> <string>_identity_criterion</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>_mt_index</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
</value>
</item>
<item>
<key> <string>_owner</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_range_criterion</string> </key>
<value>
<dictionary/>
</value>
</item>
<item>
<key> <string>_tree</string> </key>
<value>
<persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value> <string>This domain is identical to foo_category, but uses a dynamic generation of domains, for testing purpose.</string> </value>
</item>
<item>
<key> <string>domain_generator_method_id</string> </key>
<value> <string>FooModule_generateDomain</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>foo_domain</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Base Domain</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Foo Domain</string> </value>
</item>
<item>
<key> <string>uid</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
<record id="2" aka="AAAAAAAAAAI=">
<pickle>
<tuple>
<tuple>
<string>BTrees.Length</string>
<string>Length</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle> <int>0</int> </pickle>
</record>
<record id="3" aka="AAAAAAAAAAM=">
<pickle>
<tuple>
<tuple>
<string>BTrees.OOBTree</string>
<string>OOBTree</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<none/>
</pickle>
</record>
<record id="4" aka="AAAAAAAAAAQ=">
<pickle>
<tuple>
<tuple>
<string>BTrees.OOBTree</string>
<string>OOBTree</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<none/>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PageTemplates.ZopePageTemplate</string>
<string>ZopePageTemplate</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</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_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_text</string> </key>
<value> <string encoding="cdata"><![CDATA[
<html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
xmlns:metal="http://xml.zope.org/namespaces/metal">\n
<head>\n
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n
<title>Test Dynamic Domain Tree</title>\n
</head>\n
<body>\n
<table cellpadding="1" cellspacing="1" border="1">\n
<thead>\n
<tr><td rowspan="1" colspan="3">Test Dynamic Domain Tree</td></tr>\n
</thead><tbody>\n
<tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />\n
<tr>\n
\t<td>open</td>\n
\t<td>/erp5/foo_module/FooModule_createObjects</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>assertTextPresent</td>\n
\t<td>Created Successfully.</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>open</td>\n
\t<td>/erp5/foo_module/ListBoxZuite_waitForActivities</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>assertTextPresent</td>\n
\t<td>Done.</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>open</td>\n
\t<td>/erp5/foo_module/FooModule_viewFooList/listbox/ListBox_setPropertyList?field_domain_tree=checked;field_domain_root_list=foo_domain%7CFoo%20Domain</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>assertTextPresent</td>\n
\t<td>Set Successfully.</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>open</td>\n
\t<td>/erp5/foo_module/view</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>assertElementNotPresent</td>\n
\t<td>domain_root_url</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>clickAndWait</td>\n
\t<td>id=listbox_domain_tree_mode</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>verifySelected</td>\n
\t<td>domain_root_url</td>\n
\t<td>Foo Domain</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[1]//a</td>\n
\t<td>+ a</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[2]//a</td>\n
\t<td>+ b</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>id=listbox_record_number</td>\n
\t<td>10 record(s)</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_0"]/td[2]</td>\n
\t<td>0</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_1"]/td[2]</td>\n
\t<td>1</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_2"]/td[2]</td>\n
\t<td>2</td>\n
</tr>\n
<!-- Click on + a -->\n
<tr>\n
\t<td>clickAndWait</td>\n
\t<td>link=+ a</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>verifySelected</td>\n
\t<td>domain_root_url</td>\n
\t<td>Foo Domain</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[1]//a</td>\n
\t<td>- a</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[2]//a</td>\n
\t<td>+ a1</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[3]//a</td>\n
\t<td>+ a2</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[4]//a</td>\n
\t<td>+ b</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>id=listbox_record_number</td>\n
\t<td>7 record(s)</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_0"]/td[2]</td>\n
\t<td>0</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_1"]/td[2]</td>\n
\t<td>2</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_2"]/td[2]</td>\n
\t<td>3</td>\n
</tr>\n
<!-- Click on + a2 -->\n
<tr>\n
\t<td>clickAndWait</td>\n
\t<td>link=+ a2</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>verifySelected</td>\n
\t<td>domain_root_url</td>\n
\t<td>Foo Domain</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[1]//a</td>\n
\t<td>- a</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[2]//a</td>\n
\t<td>+ a1</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[3]//a</td>\n
\t<td>- a2</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[4]//a</td>\n
\t<td>+ b</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>id=listbox_record_number</td>\n
\t<td>2 record(s)</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_0"]/td[2]</td>\n
\t<td>3</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_1"]/td[2]</td>\n
\t<td>7</td>\n
</tr>\n
<!-- Click on - a -->\n
<tr>\n
\t<td>clickAndWait</td>\n
\t<td>link=- a</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>verifySelected</td>\n
\t<td>domain_root_url</td>\n
\t<td>Foo Domain</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[1]//a</td>\n
\t<td>+ a</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[2]//a</td>\n
\t<td>+ b</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>id=listbox_record_number</td>\n
\t<td>10 record(s)</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_0"]/td[2]</td>\n
\t<td>0</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_1"]/td[2]</td>\n
\t<td>1</td>\n
</tr>\n
<!-- Reset -->\n
<tr>\n
\t<td>clickAndWait</td>\n
\t<td>Folder_show:method</td>\n
\t<td></td>\n
</tr>\n
<tr>\n
\t<td>verifySelected</td>\n
\t<td>domain_root_url</td>\n
\t<td>Foo Domain</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[1]//a</td>\n
\t<td>+ a</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//table[@id="listbox_domain_tree_table"]//tr[2]//a</td>\n
\t<td>+ b</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>id=listbox_record_number</td>\n
\t<td>10 record(s)</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_0"]/td[2]</td>\n
\t<td>0</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_1"]/td[2]</td>\n
\t<td>1</td>\n
</tr>\n
<tr>\n
\t<td>verifyText</td>\n
\t<td>//tr[@id="listbox_data_line_2"]/td[2]</td>\n
\t<td>2</td>\n
</tr>\n
\n
</tbody></table>\n
</body>\n
</html>\n
]]></string> </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>testDynamicDomainTree</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -75,7 +75,7 @@
<item>
<key> <string>description</string> </key>
<value> <string>Bar is used for functional testing.\n
</string> </value>
</string> </value>
</item>
<item>
<key> <string>factory</string> </key>
......
......@@ -75,7 +75,7 @@
<item>
<key> <string>description</string> </key>
<value> <string>Foo is used for functional testing.\n
</string> </value>
</string> </value>
</item>
<item>
<key> <string>factory</string> </key>
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<tuple>
<tuple>
<string>Products.PythonScripts.PythonScript</string>
<string>PythonScript</string>
</tuple>
<none/>
</tuple>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>Python_magic</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>Script_magic</string> </key>
<value> <int>3</int> </value>
</item>
<item>
<key> <string>__ac_local_roles__</string> </key>
<value>
<none/>
</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>_body</string> </key>
<value> <string>domain_list = []\n
\n
if depth == 0:\n
url = \'foo_category\'\n
else:\n
url = parent.getProperty(\'membership_criterion_category\')\n
\n
#context.log(script.id, \'parent = %r, context = %r, url = %r, depth = %r\' % (parent, context, url, depth))\n
\n
category_list = context.portal_categories.getCategoryValue(url).contentValues()\n
for category in category_list:\n
domain = parent.generateTempDomain(id = category.getId())\n
domain.edit(title = category.getTitle(),\n
membership_criterion_base_category = (\'foo_category\',), \n
membership_criterion_category = (category.getRelativeUrl(),),\n
domain_generator_method_id = script.id,\n
uid = category.getUid())\n
\n
domain_list.append(domain)\n
\n
#context.log(script.id, \'parent = %r, category_list = %r, domain_list = %r\' % (parent, category_list, domain_list))\n
\n
return domain_list\n
</string> </value>
</item>
<item>
<key> <string>_code</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_filepath</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>depth, parent, **kw</string> </value>
</item>
<item>
<key> <string>errors</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>func_code</string> </key>
<value>
<object>
<klass>
<global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
</klass>
<tuple/>
<state>
<dictionary>
<item>
<key> <string>co_argcount</string> </key>
<value> <int>2</int> </value>
</item>
<item>
<key> <string>co_varnames</string> </key>
<value>
<tuple>
<string>depth</string>
<string>parent</string>
<string>kw</string>
<string>domain_list</string>
<string>url</string>
<string>_getattr_</string>
<string>context</string>
<string>category_list</string>
<string>_getiter_</string>
<string>category</string>
<string>domain</string>
<string>script</string>
</tuple>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>func_defaults</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>FooModule_generateDomain</string> </value>
</item>
<item>
<key> <string>warnings</string> </key>
<value>
<tuple/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
......@@ -119,7 +119,7 @@
<tuple>
<string>kw</string>
<string>_getattr_</string>
<string>context</string>
<string>context</string>
</tuple>
</value>
</item>
......
......@@ -45,7 +45,7 @@
<key> <string>_keys</string> </key>
<value>
<list>
<string>context</string>