Commit 07563682 authored by Rafael Monnerat's avatar Rafael Monnerat

Initial upload of bt5.

This Business Template contains a Zelenium test for configurator.



git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@42102 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent eaad9306
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Zuite" module="Products.Zelenium.zuite"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>configurator_standard_zuite</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>_text</string> </key>
<value> <unicode 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>Configuration Standard</title>\n
</head>\n
<body>\n
<table cellpadding="1" cellspacing="1" border="1">\n
<thead>\n
<tr><td rowspan="1" colspan="3">Standard Configuration</td></tr>\n
</thead><tbody>\n
\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/init_test_environment" />\n
\n
<tr>\n
<td>store</td>\n
<td>${base_url}/portal_configurator</td>\n
<td>configurator_base_url</td>\n
</tr>\n
\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/Zuite_setUpConfigurationTest</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Init Ok</td>\n
<td></td>\n
</tr>\n
\n
<!-- Set longer timeout as it takes time at configurator side to prepare everything needed. -->\n
<tr>\n
<td>setTimeout</td>\n
<td>1200000</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_CommonTemplate/macros/wait_for_activities" />\n
<!-- Restore defaults -->\n
<tr>\n
<td>setTimeout</td>\n
<td>30000</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>pause</td>\n
<td>45000</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${configurator_base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>ERP5 Configuration</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Welcome to Configurator</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>This tool will help you configure your fresh ERP5</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Language</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Configurator Key</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>ERP5 Configuration</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_my_ac_key"]</td>\n
<td>wrong_configuration_key</td>\n
</tr>\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="Base_callDialogMethod:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Incorrect Configuration Key</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_my_ac_key"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'configuration_key\']"></td>\n
</tr>\n
<tr>\n
<td>select</td>\n
<td>//select[@name="field_your_business_configuration"]</td>\n
<td>STANDARD_CONFIGURATOR_TEST</td>\n
</tr>\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="Base_callDialogMethod:method"]</td>\n
<td></td>\n
</tr>\n
\n
<!-- First Page (Organisation) -->\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_frame_check"> Frame Checks</span>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_page1_check"> Page 1 Checks</span>\n
\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_title"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_title\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_default_email_text"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_email\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_default_telephone_text"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_telephone\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//textarea[@name="field_your_default_address_street_address"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_street_address\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_default_address_zip_code"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_zip_code\']"></td>\n
</tr>\n
\n
<tr>\n
<td>select</td>\n
<td>//select[@name="field_your_default_address_region"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_region\']"></td>\n
</tr>\n
\n
<!-- Next page to check validation works -->\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Input is required but no input given.</td>\n
<td></td>\n
</tr>\n
\n
\n
<!-- Check that what was previously entered is returned -->\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_title"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_title\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_default_email_text"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_email\']"></td>\n
\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_default_telephone_text"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_telephone\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//textarea[@name="field_your_default_address_street_address"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_street_address\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_default_address_zip_code"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_zip_code\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//select[@name="field_your_default_address_region"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_region_category\']"></td>\n
</tr>\n
<!-- Fill in rest details-->\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_default_address_city"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_city\']"></td>\n
</tr>\n
\n
<!-- Go Second page (User Accounts)-->\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_frame_check"> Frame Checks</span>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_page2_check"> Frame Checks</span>\n
\n
<!-- Go to Previous page (Organisation) and check that it\'s all saved-->\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="previous:method"]</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_frame_check"> Frame Checks</span>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_page1_check"> Page 1 Checks</span>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_title"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_title\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_default_email_text"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_email\']"></td>\n
\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_default_telephone_text"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_telephone\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//textarea[@name="field_your_default_address_street_address"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_street_address\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_default_address_zip_code"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_zip_code\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//select[@name="field_your_default_address_region"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_region_category\']"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_default_address_city"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_city\']"></td>\n
</tr>\n
\n
\n
<!-- Go to Next page (User Accounts)-->\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_frame_check"> Frame Checks</span>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_page2_check"> Page 2 Checks</span>\n
\n
<tr>\n
<td>select</td>\n
<td>//select[@name="field_your_company_employees_number"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_company_employees_number\']"></td>\n
</tr>\n
\n
<!-- Go to Next page (User configurations)-->\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_frame_check"> Frame Checks</span>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_page3_check"> Page 3 Checks</span>\n
\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_first_name"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_first_name\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_last_name"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_last_name\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_reference"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_used_reference\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_password"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_password\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_password_confirm"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_password\']"></td>\n
</tr>\n
<tr>\n
<td>select</td>\n
<td>//select[@name="field_your_function"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_function\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_default_email_text"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_email\']"></td>\n
</tr>\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
\n
<!-- Check that it\'s impossible to use an user id which\n
exists already at server (witch) side)-->\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>User login is either already used or contains invalid characters</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Please try another one</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="field_your_reference"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_reference\']"></td>\n
</tr>\n
\n
\n
<!-- Go to Next page (Accounting)-->\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_frame_check"> Frame Checks</span>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_page4_check"> Page 4 Checks</span>\n
\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="subfield_field_your_period_start_date_year"]</td>\n
<td tal:content="python:\n
modules[\'DateTime\'].DateTime(modules[\'DateTime\'].DateTime().year(), 1, 1).strftime(\'%Y\')"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="subfield_field_your_period_start_date_month"]</td>\n
<td>01</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="subfield_field_your_period_start_date_day"]</td>\n
<td>01</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="subfield_field_your_period_stop_date_year"]</td>\n
<td tal:content="python:\n
modules[\'DateTime\'].DateTime(modules[\'DateTime\'].DateTime().year(), 1, 1).strftime(\'%Y\')"></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="subfield_field_your_period_stop_date_month"]</td>\n
<td>12</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="subfield_field_your_period_stop_date_day"]</td>\n
<td>31</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="field_your_period_title"]</td>\n
<td tal:content="python:\n
modules[\'DateTime\'].DateTime(modules[\'DateTime\'].DateTime().year(), 1, 1).strftime(\'%Y\')"></td>\n
</tr>\n
\n
\n
<!-- Go to Next page (Application preferences)-->\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_frame_check"> Frame Checks</span>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_page5_check"> Page 5 Checks</span>\n
\n
<tr>\n
<td>select</td>\n
<td>//select[@name="field_your_price_currency"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_organisation_currency\']"></td>\n
</tr>\n
<tr>\n
<td>select</td>\n
<td>//select[@name="field_your_preferred_date_order"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_datetime_format\']"></td>\n
</tr>\n
<tr>\n
<td>addSelection</td>\n
<td>//select[@name="field_your_lang"]</td>\n
<td>label=French</td>\n
</tr>\n
\n
<!-- Go to Next page (ERP5 Express installation)-->\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_frame_check"> Frame Checks</span>\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/configurator_page6_check"> Page 6 Checks</span>\n
\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>waitForCondition</td>\n
<td>selenium.isTextPresent("ERP5 configuration process is running.")</td>\n
<td>10000</td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Please be patient and do not move from current page until you get</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>confirmation that the installation is over.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>It will last approximately 5 to 10 minutes.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>waitForCondition</td>\n
<td>selenium.isTextPresent("Configuration is over. Enjoy your new ERP5 system!")</td>\n
<td>1000000</td> <!-- set timeout reasonably as it takes time to finish installation-->\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Please click link below.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>You will be redirected to a form in which you can login using</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>one of yours newly created ERP5 user accounts.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Start using your new ERP5 system</td>\n
<td></td>\n
</tr>\n
\n
<!-- login with functional test user -->\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/logout</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/login_form</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="__ac_name"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'functional_test_username\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="__ac_password"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'functional_test_password\']"></td>\n
</tr>\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="logged_in:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>pause</td>\n
<td>5000</td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_CommonTemplate/macros/wait_for_activities">\n
Wait for activities</span>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'functional_test_username\']"></td>\n
<td></td>\n
</tr>\n
\n
\n
<!-- login with newly created user from Express configuration -->\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/logout</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/login_form</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="__ac_name"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_reference\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="__ac_password"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_password\']"></td>\n
</tr>\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="logged_in:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_reference\']"></td>\n
<td></td>\n
</tr>\n
<span metal:use-macro="container/Zuite_CommonTemplate/macros/wait_for_activities" />\n
<span metal:use-macro="container/Zuite_viewConfiguratorTestMacroLibrary/macros/restore_test_environment" />\n
\n
</tbody></table>\n
</body>\n
</html>
]]></unicode> </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>testStandardConfigurationProcess</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>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Folder" module="OFS.Folder"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_local_properties</string> </key>
<value>
<tuple>
<dictionary>
<item>
<key> <string>id</string> </key>
<value> <string>business_template_skin_layer_priority</string> </value>
</item>
<item>
<key> <string>type</string> </key>
<value> <string>float</string> </value>
</item>
</dictionary>
</tuple>
</value>
</item>
<item>
<key> <string>_objects</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>business_template_skin_layer_priority</string> </key>
<value> <float>51.0</float> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>erp5_configurator_standard_ui_test</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>_body</string> </key>
<value> <string>"""\n
Return the configuration used during test.\n
\n
There is a difference between configuration and upgrader for\n
this values. This informations should be unified later but \n
for now it is better keep the difference here.\n
"""\n
from DateTime import DateTime\n
\n
configuration_dict = {\n
\'configuration_key\': \'a\', # XXX: fill as appropriate for test env\n
\'customer_organisation_title\': \'Nexedi SA\',\n
\'customer_organisation_email\': \'webproject-report@erp5.org\',\n
\'customer_organisation_telephone\': \'+123 234 567 891\',\n
\'customer_organisation_street_address\': \n
\'270 bd Clémenceau, 59700 Marcq-en-Baroeul\',\n
\'customer_organisation_city\': \'Lille\',\n
\'customer_organisation_zip_code\': \'59700\',\n
\'customer_organisation_region\': \'France\',\n
\'customer_organisation_region_category\': \'europe/western_europe/france\',\n
\'customer_company_employees_number\': 1, # employees\n
\'customer_user1_first_name\': \'Ivan\',\n
\'customer_user1_last_name\': \'Petrov\',\n
\'customer_user1_reference\': \'PERSON_USER_REFERENCE\',\n
\'customer_user1_used_reference\' : \'PERSON_RESERVED_REFERENCE\',\n
\'customer_user1_password\' : \'secret\',\n
\'customer_user1_function\': \'Company/Manager\',\n
\'customer_user1_email\': \'webproject-report@erp5.org\',\n
\'customer_organisation_currency\' : \'Euro\',\n
\'customer_datetime_format\': \'Day / Month / Year\',\n
\n
# XXX FIXME The follow configuration are not related to configuration itself\n
# but related to system or inicial setup. Split this script later in order\n
# To have a clean definition of what is the User Configuration Values only.\n
"functional_test_username" : "zope", \n
"functional_test_password" : "zope",\n
\n
"business_configuration_id": "STANDARD_CONFIGURATOR_TEST",\n
\'bt_repository_list\':[\'http://www.erp5.org/dists/snapshot/bt5/\'],\n
\n
# Release management\n
\'erp5_instance_version\': \'5.4.1\',\n
\n
\'now\': DateTime(),\n
# server side group\n
\'tiolive_group_relative_url\': \'nexedi/tio\',\n
# More configurations\n
"oood_hostname": "localhost", \n
"oood_port": 8008, \n
\n
# Valid Assignment Date\n
"assignment_start_date_year": 2010,\n
"assignment_start_date_month": 07,\n
"assignment_start_date_day":13,\n
"assignment_stop_date_year": 2999,\n
"assignment_stop_date_month": 07,\n
"assignment_stop_date_day":13,\n
}\n
\n
is_upgrader = context.portal_templates.getInstalledBusinessTemplate("erp5_upgrader") is not None\n
\n
if not is_upgrader:\n
if "tiolive_server" in context.erp5_sql_connection.connection_string or \\\n
"test_client" in context.erp5_sql_connection.connection_string:\n
configuration_dict[\'oood_port\'] = 48009\n
configuration_dict[\'tiolive_virtual_database_string\'] = \'tiolive_virtual@127.0.0.1:43307 root\'\n
configuration_dict[\'witch_server_url\'] = \'http://localhost:48090/erp5/\'\n
\n
return configuration_dict\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Zuite_getConfigurationTestDict</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>_body</string> </key>
<value> <string>"""\n
Return the configuration for use into\n
preferences.\n
"""\n
return context.ExpressZuite_getExpressConfigurationInfo()\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Zuite_getConversionServerDict</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>_body</string> </key>
<value> <string>portal = context.getPortalObject()\n
\n
# set url, user/password\n
configuration_info = context.Zuite_getConfigurationTestDict()\n
\n
# setup preferences\n
preference_id = \'default_initial_configurator_system_preference\'\n
\n
default_site_preference = getattr(portal.portal_preferences, preference_id, None)\n
\n
if default_site_preference is None:\n
default_site_preference = portal.portal_preferences.newContent(\n
id = \'default_initial_configurator_system_preference\',\n
portal_type=\'System Preference\', priority = 1)\n
\n
default_site_preference.setPreferredHtmlStyleUnsavedFormWarning(False)\n
default_site_preference.setPreferredHtmlStyleDevelopperMode(None)\n
default_site_preference.setPreferredHtmlStyleAccessTab(\'1\')\n
\n
default_site_preference.setPreferredOoodocServerAddress(configuration_info.get("oood_hostname",\'localhost\'))\n
default_site_preference.setPreferredOoodocServerPortNumber(configuration_info.get("oood_port",8008))\n
\n
if default_site_preference.getPreferenceState() != \'global\':\n
default_site_preference.enable()\n
\n
# update repository info of Configurator site\n
portal.portal_templates.updateRepositoryBusinessTemplateList(\n
repository_list = configuration_info[\'bt_repository_list\'])\n
\n
# (Re)Create the Business Configurator\n
bc_id = configuration_info[\'business_configuration_id\']\n
business_configuration = getattr(context.business_configuration_module, bc_id, None)\n
if business_configuration is not None:\n
context.business_configuration_module.manage_delObjects([bc_id])\n
\n
business_configuration = context.business_configuration_module.newContent(\n
portal_type="Business Configuration",\n
id=bc_id, \n
title=bc_id,\n
reference=configuration_info[\'configuration_key\'])\n
\n
business_configuration.setResource("workflow_module/erp5_standard_workflow")\n
\n
# (Re)Create the Person with already used login.\n
kw = dict(portal_type="Person",\n
reference=configuration_info[\'customer_user1_used_reference\'])\n
person = context.portal_catalog.getResultValue(**kw)\n
if person is None:\n
context.person_module.newContent(**kw)\n
\n
kw[\'reference\'] = configuration_info[\'customer_user1_reference\']\n
person = context.portal_catalog.getResultValue(**kw)\n
if person is not None:\n
context.person_module.manage_delObjects([person.getId()])\n
\n
portal.portal_caches.clearAllCache()\n
return "### Init Ok ###"\n
</string> </value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string></string> </value>
</item>
<item>
<key> <string>_proxy_roles</string> </key>
<value>
<tuple>
<string>Manager</string>
</tuple>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>Zuite_setUpConfigurationTest</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?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>_text</string> </key>
<value> <unicode encoding="cdata"><![CDATA[
<tal:block metal:define-macro="checked_logged_in_as_express_user_client_instance">\n
<!-- Check we\'re logged against client_instance -->\n
<tr>\n
<td>openAndWait</td>\n
<td>${client_instance_base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td tal:content="python: configuration[\'customer_user1_reference\']"></td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
\n
<tal:block metal:define-macro="checked_logged_in_as_express_user_server_instance">\n
<!-- Check we\'re logged against server -->\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td tal:content="python: configuration[\'customer_user1_reference\']"></td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
\n
<tal:block metal:define-macro="init_test_environment">\n
<tr>\n
<td>store</td>\n
<td tal:content="python:\n
here.REQUEST.get(\'URL\')[0:here.REQUEST.get(\'URL\').find(\'/portal_tests/\')]">erp5</td>\n
<td>base_url</td>\n
</tr>\n
<tr>\n
<td>setTimeout</td>\n
<td>60000</td>\n
<td></td>\n
</tr>\n
<!-- Always initialize browser to English language -->\n
<tr>\n
<td>deleteCookie</td>\n
<td>LOCALIZER_LANGUAGE</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>createCookie</td>\n
<td>LOCALIZER_LANGUAGE=en</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
<tal:block metal:define-macro="restore_test_environment">\n
<tr>\n
<td>setTimeout</td>\n
<td>30000</td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
\n
<tal:block metal:define-macro="configurator_frame_check">\n
\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>ERP5 Configuration</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Hello</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Installation steps</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Number of user accounts</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>User accounts configuration</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Accounting</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Application preferences</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>TioLive installation</td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
\n
<tal:block metal:define-macro="configurator_page1_check">\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Your organisation</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>What is the name of your company?</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Email</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Telephone</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Street Address</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Postal Code</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>City</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Country</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="next:method"]</td>\n
<td>Configure organisation</td>\n
</tr>\n
\n
</tal:block>\n
\n
\n
<tal:block metal:define-macro="configurator_page2_check">\n
\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Number of user accounts</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Enter the number of user accounts you want to create. In your company, each person using TioLive should have his own user account.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Select the number of user accounts you want to configure</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="next:method"]</td>\n
<td>Configure user accounts number</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="previous:method"]</td>\n
<td>Previous</td>\n
</tr>\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="previous:method"]</td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
\n
<tal:block metal:define-macro="configurator_page3_check">\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>User accounts configuration</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Fill in detailled information for each TioLive user.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td> User accounts configuration</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td> Fill in detailled information for each TioLive user.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>First Name</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Last Name</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>User Login</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>User Password</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Password Confirmation</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Function</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="next:method"]</td>\n
<td>Configure user accounts</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="previous:method"]</td>\n
<td>Previous</td>\n
</tr>\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="previous:method"]</td>\n
<td></td>\n
</tr>\n
\n
</tal:block>\n
\n
<tal:block metal:define-macro="configurator_page4_check">\n
\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Accounting</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Configure your accounting.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Which accouting plan do you use?</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Accounting Period</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Accounting Periods are used to define the range of dates in which you will be allowed to input accounting transactions.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>To start using the system, you have to configure the first accounting period.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>What is the begin date of your current accounting period?</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>What will be the end date of your current accounting period?</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>What is the name of this period?</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="next:method"]</td>\n
<td>Configure accounting</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="previous:method"]</td>\n
<td>Previous</td>\n
</tr>\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="previous:method"]</td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
\n
<tal:block metal:define-macro="configurator_page5_check">\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Application preferences</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Define some global preferences for your TioLive application.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>What email address should be used as From email address for automatically generated emails?</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>What is the currency used in your company?</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Which date format do you use?</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Which translations do you want to use?</td>\n
<td></td>\n
</tr>\n
\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="next:method"]</td>\n
<td>Configure preferences</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="previous:method"]</td>\n
<td>Previous</td>\n
</tr>\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="previous:method"]</td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
<tal:block metal:define-macro="configurator_page6_check">\n
\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>TioLive installation</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Installation procedure may begin</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>All needed information is collected.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Please proceed using Install button below.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>In the next page you will receive automatically updated installation status report.</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="next:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="next:method"]</td>\n
<td>Install</td>\n
</tr>\n
<tr>\n
<td>verifyValue</td>\n
<td>//input[@name="previous:method"]</td>\n
<td>Previous</td>\n
</tr>\n
<tr>\n
<td>verifyElementPresent</td>\n
<td>//input[@name="previous:method"]</td>\n
<td></td>\n
</tr>\n
</tal:block>\n
\n
<tal:block metal:define-macro="login_as_express_user">\n
\n
<tal:block tal:condition="here/ExpressZuite_isExpressUserAccountAvailable">\n
<!-- login with newly created user from Express configuration -->\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/logout</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/login_form</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="__ac_name"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_reference\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="__ac_password"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_password\']"></td>\n
</tr>\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="logged_in:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'customer_user1_reference\']"></td>\n
<td></td>\n
</tr>\n
</tal:block>\n
</tal:block>\n
\n
<tal:block metal:define-macro="login_as_functional_test_user">\n
\n
<tal:block tal:condition="here/ExpressZuite_isExpressUserAccountAvailable">\n
<!-- login with functional test user -->\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/logout</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/login_form</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="__ac_name"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'functional_test_username\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="__ac_password"]</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'functional_test_user_password\']"></td>\n
</tr>\n
<tr>\n
<td>clickAndWait</td>\n
<td>//input[@name="logged_in:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>openAndWait</td>\n
<td>${base_url}/view</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td tal:content="python:\n
here.Zuite_getConfigurationTestDict()[\'functional_test_username\']"></td>\n
<td></td>\n
</tr>\n
</tal:block>\n
</tal:block>\n
\n
<tal:block metal:define-macro="fill_assignment_start_date_and_stop_date">\n
<tr>\n
<td>type</td>\n
<td>//input[@name="subfield_field_my_start_date_year"]</td>\n
<td tal:content="python: configuration[\'assignment_start_date_year\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="subfield_field_my_start_date_month"]</td>\n
<td tal:content="python: configuration[\'assignment_start_date_month\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="subfield_field_my_start_date_day"]</td>\n
<td tal:content="python: configuration[\'assignment_start_date_day\']"></td>\n
</tr>\n
\n
<tr>\n
<td>type</td>\n
<td>//input[@name="subfield_field_my_stop_date_year"]</td>\n
<td tal:content="python: configuration[\'assignment_stop_date_year\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="subfield_field_my_stop_date_month"]</td>\n
<td tal:content="python: configuration[\'assignment_stop_date_month\']"></td>\n
</tr>\n
<tr>\n
<td>type</td>\n
<td>//input[@name="subfield_field_my_stop_date_day"]</td>\n
<td tal:content="python: configuration[\'assignment_stop_date_day\']"></td>\n
</tr>\n
<tr>\n
<td>clickAndWait</td>\n
<td>//button[@name="Base_edit:method"]</td>\n
<td></td>\n
</tr>\n
<tr>\n
<td>verifyTextPresent</td>\n
<td>Data updated.</td>\n
<td></td>\n
</tr>\n
</tal:block>
]]></unicode> </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>Zuite_viewConfiguratorTestMacroLibrary</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>
Copyright 2010, Nexedi SA
\ No newline at end of file
erp5_crm
erp5_configurator_standard
\ No newline at end of file
This contains zelenium tests for express instances. That includes:
* tests for configurator
* tests for basic configuration expected
\ No newline at end of file
portal_tests/configurator_standard_zuite
portal_tests/configurator_standard_zuite/**
\ No newline at end of file
erp5_configurator_standard_ui_test
\ No newline at end of file
erp5_configurator_standard_ui_test
\ No newline at end of file
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