diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite.xml b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite.xml new file mode 100644 index 0000000000000000000000000000000000000000..9d7996eb3841ee0fc4b92befc3fc82c03313ac91 --- /dev/null +++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite.xml @@ -0,0 +1,26 @@ +<?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>officejs_ui_zuite</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSSynchronization.xml b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSSynchronization.xml new file mode 100644 index 0000000000000000000000000000000000000000..647a5f39d121636c8f371866e272b8543cfcdfaf --- /dev/null +++ b/bt5/erp5_officejs_ui_test/PathTemplateItem/portal_tests/officejs_ui_zuite/testOfficeJSSynchronization.xml @@ -0,0 +1,402 @@ +<?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>Test RenderJS UI</title>\n +</head>\n +<body>\n +<table cellpadding="1" cellspacing="1" border="1">\n +<thead>\n +<tr><td rowspan="1" colspan="3">Test OfficeJS UI</td></tr>\n +</thead><tbody>\n +<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />\n +<!-- Clean Up -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/bar_module/ListBoxZuite_reset</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>Reset Successfully.</td>\n + <td></td>\n +</tr>\n +<!-- Initialize -->\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_site_module/officejs_text_editor/</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//a[@data-i18n=\'Add\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//a[@data-i18n=\'Add\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//iframe</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>5000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>store</td>\n + <td tal:content="python: \'Test Titre %s\' % DateTime()">Titre</td>\n + <td>title</td>\n +</tr>\n +<tr>\n + <td>store</td>\n + <td tal:content="python: (\'Test Reference %s\' % DateTime()).replace(\' \',\'.\').replace(\':\', \'.\').replace(\'/\', \'.\')">Reference</td>\n + <td>reference</td>\n +</tr>\n +<tr>\n + <td>store</td>\n + <td tal:content="python: \'Test Description %s\' % DateTime()">Today</td>\n + <td>description</td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>name=reference</td>\n + <td>${reference}</td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>name=title</td>\n + <td>${title}</td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>name=description</td>\n + <td>${description}</td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//button[@data-i18n=\'Save\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>3000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//a[@data-i18n=\'Back\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//input[@name=\'search\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>name=search</td>\n + <td>${title}</td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//input[@data-i18n=\'[value]header-submit\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>3000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${title}</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//table/tbody/tr[1]/td[1]/a</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//iframe</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>5000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${title}</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyValue</td>\n + <td>title</td>\n + <td>${title}</td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//form//fieldset//a</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>1000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyValue</td>\n + <td>reference</td>\n + <td>${reference}</td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${description}</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//a[@data-i18n=\'Back\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//button[@data-i18n=\'Menu\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>500</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//button[@data-i18n=\'Menu\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//a[@data-i18n=\'Sync\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//a[@data-i18n=\'Sync\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//button[@data-i18n=\'Launch Synchronization\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>2000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//button[@data-i18n=\'Launch Synchronization\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>10000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//input[@name=\'search\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>name=search</td>\n + <td>${title}</td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//input[@data-i18n=\'[value]header-submit\']</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>3000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${title}</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//table/tbody/tr[1]/td[1]/a</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//iframe</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>5000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${title}</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyValue</td>\n + <td>title</td>\n + <td>${title}</td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//form//fieldset//a</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>1000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>verifyValue</td>\n + <td>reference</td>\n + <td>${reference}</td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${description}</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>open</td>\n + <td>${base_url}/web_page_module/</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//button[@title="Show All"]</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>click</td>\n + <td>//button[@title="Show All"]</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>pause</td>\n + <td>1000</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>waitForElementPresent</td>\n + <td>//input[@name="listbox_title"]</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>type</td>\n + <td>name=listbox_title</td>\n + <td>${title}</td>\n +</tr>\n +<tr>\n + <td>clickAndWait</td>\n + <td>Base_doSelect:method</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${title}</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${reference}</td>\n + <td></td>\n +</tr>\n +<tr>\n + <td>assertTextPresent</td>\n + <td>${description}</td>\n + <td></td>\n +</tr>\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>testOfficeJSSynchronization</string> </value> + </item> + <item> + <key> <string>output_encoding</string> </key> + <value> <string>utf-8</string> </value> + </item> + <item> + <key> <string>title</string> </key> + <value> <unicode></unicode> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_officejs_ui_test/TestTemplateItem/portal_components/test.erp5.testOfficeJS.py b/bt5/erp5_officejs_ui_test/TestTemplateItem/portal_components/test.erp5.testOfficeJS.py new file mode 100644 index 0000000000000000000000000000000000000000..e27288fd57ade0fb901466cbfe3426e908dd5a73 --- /dev/null +++ b/bt5/erp5_officejs_ui_test/TestTemplateItem/portal_components/test.erp5.testOfficeJS.py @@ -0,0 +1,47 @@ +############################################################################## +# +# Copyright (c) 2011 Nexedi SARL and Contributors. All Rights Reserved. +# Kazuhiko <kazuhiko@nexedi.com> +# Rafael Monnerat <rafael@nexedi.com> +# +# WARNING: This program as such is intended to be used by professional +# programmers who take the whole responsability of assessing all potential +# consequences resulting from its eventual inadequacies and bugs +# End users who are looking for a ready-to-use solution with commercial +# garantees and support are strongly adviced to contract a Free Software +# Service Company +# +# This program is Free Software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################## +import unittest + +from Products.ERP5Type.tests.ERP5TypeFunctionalTestCase import ERP5TypeFunctionalTestCase + +class TestZeleniumCore(ERP5TypeFunctionalTestCase): + foreground = 0 + run_only = "officejs_ui_zuite" + + def getBusinessTemplateList(self): + return ( + 'erp5_officejs', + 'erp5_officejs_ui_test', + 'erp5_ui_test_core', + ) + +def test_suite(): + suite = unittest.TestSuite() + suite.addTest(unittest.makeSuite(TestZeleniumCore)) + return suite \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/TestTemplateItem/portal_components/test.erp5.testOfficeJS.xml b/bt5/erp5_officejs_ui_test/TestTemplateItem/portal_components/test.erp5.testOfficeJS.xml new file mode 100644 index 0000000000000000000000000000000000000000..40fb148f0b12e8564a045e15e865f95317f900ba --- /dev/null +++ b/bt5/erp5_officejs_ui_test/TestTemplateItem/portal_components/test.erp5.testOfficeJS.xml @@ -0,0 +1,123 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="Test Component" module="erp5.portal_type"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_recorded_property_dict</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>default_reference</string> </key> + <value> <string>testOfficeJS</string> </value> + </item> + <item> + <key> <string>description</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>test.erp5.testOfficeJS</string> </value> + </item> + <item> + <key> <string>portal_type</string> </key> + <value> <string>Test Component</string> </value> + </item> + <item> + <key> <string>sid</string> </key> + <value> + <none/> + </value> + </item> + <item> + <key> <string>text_content_error_message</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>text_content_warning_message</string> </key> + <value> + <tuple/> + </value> + </item> + <item> + <key> <string>version</string> </key> + <value> <string>erp5</string> </value> + </item> + <item> + <key> <string>workflow_history</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="PersistentMapping" module="Persistence.mapping"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>data</string> </key> + <value> + <dictionary/> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <global name="PersistentMapping" module="Persistence.mapping"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>data</string> </key> + <value> + <dictionary> + <item> + <key> <string>component_validation_workflow</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent> + </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="4" aka="AAAAAAAAAAQ="> + <pickle> + <global name="WorkflowHistoryList" module="Products.ERP5Type.patches.WorkflowTool"/> + </pickle> + <pickle> + <tuple> + <none/> + <list> + <dictionary> + <item> + <key> <string>action</string> </key> + <value> <string>validate</string> </value> + </item> + <item> + <key> <string>validation_state</string> </key> + <value> <string>validated</string> </value> + </item> + </dictionary> + </list> + </tuple> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_officejs_ui_test/bt/copyright_list b/bt5/erp5_officejs_ui_test/bt/copyright_list new file mode 100644 index 0000000000000000000000000000000000000000..4c839116b7406571dad099ae462a268bc1c0d73d --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/copyright_list @@ -0,0 +1 @@ +Copyright (C) 2015 Nexedi SA \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/dependency_list b/bt5/erp5_officejs_ui_test/bt/dependency_list new file mode 100644 index 0000000000000000000000000000000000000000..4d4691b45fb126e3c0563669f9d31dcc820d30aa --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/dependency_list @@ -0,0 +1,3 @@ +erp5_ui_test_core +erp5_ui_test +erp5_officejs \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/description b/bt5/erp5_officejs_ui_test/bt/description new file mode 100644 index 0000000000000000000000000000000000000000..4e6943866123cc61aeace80e785c403190667e74 --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/description @@ -0,0 +1 @@ +OfficeJS Interface Tests \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/license b/bt5/erp5_officejs_ui_test/bt/license new file mode 100644 index 0000000000000000000000000000000000000000..3a3e12bcad97e4b3bdd6a8bb499fd23a4bcb0819 --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/license @@ -0,0 +1 @@ +GPL \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/maintainer_list b/bt5/erp5_officejs_ui_test/bt/maintainer_list new file mode 100644 index 0000000000000000000000000000000000000000..2eb285735251a581e07b703162bf9193cdcd523b --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/maintainer_list @@ -0,0 +1 @@ +Cédric Le Ninivin \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/template_format_version b/bt5/erp5_officejs_ui_test/bt/template_format_version new file mode 100644 index 0000000000000000000000000000000000000000..56a6051ca2b02b04ef92d5150c9ef600403cb1de --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/template_format_version @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/template_path_list b/bt5/erp5_officejs_ui_test/bt/template_path_list new file mode 100644 index 0000000000000000000000000000000000000000..edd06dce6f70edd51d53c9863c7f23d706f62c83 --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/template_path_list @@ -0,0 +1,2 @@ +portal_tests/officejs_ui_zuite +portal_tests/officejs_ui_zuite/** \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/template_test_id_list b/bt5/erp5_officejs_ui_test/bt/template_test_id_list new file mode 100644 index 0000000000000000000000000000000000000000..5757c9d4e1dd83ad34899690772df75a16f551c9 --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/template_test_id_list @@ -0,0 +1 @@ +test.erp5.testOfficeJS \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/test_dependency_list b/bt5/erp5_officejs_ui_test/bt/test_dependency_list new file mode 100644 index 0000000000000000000000000000000000000000..bff77e32d84989312efdf3b2caed2e39f9a513ed --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/test_dependency_list @@ -0,0 +1 @@ +erp5_full_text_mroonga_catalog \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/title b/bt5/erp5_officejs_ui_test/bt/title new file mode 100644 index 0000000000000000000000000000000000000000..d8e4a623798890a744e72e2d00fc1c48d5656598 --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/title @@ -0,0 +1 @@ +erp5_officejs_ui_test \ No newline at end of file diff --git a/bt5/erp5_officejs_ui_test/bt/version b/bt5/erp5_officejs_ui_test/bt/version new file mode 100644 index 0000000000000000000000000000000000000000..ceab6e11ece0bcec917c12e11d350946f085d549 --- /dev/null +++ b/bt5/erp5_officejs_ui_test/bt/version @@ -0,0 +1 @@ +0.1 \ No newline at end of file