From 6af58790304345706bc9ba57e92f92c7881c7ecd Mon Sep 17 00:00:00 2001
From: Sven Franck <sven.franck@nexedi.com>
Date: Mon, 25 May 2015 13:26:22 +0000
Subject: [PATCH] erp5_web_manifest_test: add simple test scenario for web
 manifest

---
 .../erp5_web_manifest_ui_zuite.xml            |  26 ++++
 .../testManifestBasicNavigation.xml           | 112 ++++++++++++++++
 .../testManifest_PreferenceReset.xml          |  83 ++++++++++++
 .../test.erp5.testManifest.py                 |  48 +++++++
 .../test.erp5.testManifest.xml                | 125 ++++++++++++++++++
 bt5/erp5_web_manifest_test/bt/dependency_list |   2 +
 bt5/erp5_web_manifest_test/bt/description     |   1 +
 bt5/erp5_web_manifest_test/bt/license         |   1 +
 .../bt/template_format_version                |   1 +
 ..._keep_last_workflow_history_only_path_list |   2 +
 .../bt/template_keep_workflow_path_list       |   2 +
 .../bt/template_path_list                     |   2 +
 .../bt/template_test_id_list                  |   1 +
 .../bt/test_dependency_list                   |   1 +
 bt5/erp5_web_manifest_test/bt/title           |   1 +
 bt5/erp5_web_manifest_test/bt/version         |   1 +
 16 files changed, 409 insertions(+)
 create mode 100644 bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite.xml
 create mode 100644 bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite/testManifestBasicNavigation.xml
 create mode 100644 bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite/testManifest_PreferenceReset.xml
 create mode 100644 bt5/erp5_web_manifest_test/TestTemplateItem/portal_components/test.erp5.testManifest.py
 create mode 100644 bt5/erp5_web_manifest_test/TestTemplateItem/portal_components/test.erp5.testManifest.xml
 create mode 100644 bt5/erp5_web_manifest_test/bt/dependency_list
 create mode 100644 bt5/erp5_web_manifest_test/bt/description
 create mode 100644 bt5/erp5_web_manifest_test/bt/license
 create mode 100644 bt5/erp5_web_manifest_test/bt/template_format_version
 create mode 100644 bt5/erp5_web_manifest_test/bt/template_keep_last_workflow_history_only_path_list
 create mode 100644 bt5/erp5_web_manifest_test/bt/template_keep_workflow_path_list
 create mode 100644 bt5/erp5_web_manifest_test/bt/template_path_list
 create mode 100644 bt5/erp5_web_manifest_test/bt/template_test_id_list
 create mode 100644 bt5/erp5_web_manifest_test/bt/test_dependency_list
 create mode 100644 bt5/erp5_web_manifest_test/bt/title
 create mode 100644 bt5/erp5_web_manifest_test/bt/version

diff --git a/bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite.xml b/bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite.xml
new file mode 100644
index 0000000000..84a48cceb1
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_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>erp5_web_manifest_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_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite/testManifestBasicNavigation.xml b/bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite/testManifestBasicNavigation.xml
new file mode 100644
index 0000000000..1609084d57
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite/testManifestBasicNavigation.xml
@@ -0,0 +1,112 @@
+<?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 Manifest UI</title>\n
+</head>\n
+<body>\n
+<table cellpadding="1" cellspacing="1" border="1">\n
+<thead>\n
+<tr><td rowspan="1" colspan="3">Test RenderJS UI</td></tr>\n
+</thead><tbody>\n
+<tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/init" />\n
+\n
+<!-- Clean Up -->\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/portal_tests/erp5_web_manifest_ui_zuite/testManifest_PreferenceReset</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Reset Successfully.</td>\n
+  <td></td>\n
+</tr>\n
+\n
+<!-- Initialize -->\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/web_site_module/manifest/</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>waitForTextPresent</td>\n
+  <td>Guidelines for Developing Web Applications</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//p[@class="custom-subtitle ui-content-subtitle"]</td>\n
+  <td>Guidelines for Developing Web Applications</td>\n
+</tr>\n
+\n
+\n
+</tbody>\n
+</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>testManifestBasicNavigation</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite/testManifest_PreferenceReset.xml b/bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite/testManifest_PreferenceReset.xml
new file mode 100644
index 0000000000..6240706625
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/PathTemplateItem/portal_tests/erp5_web_manifest_ui_zuite/testManifest_PreferenceReset.xml
@@ -0,0 +1,83 @@
+<?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>"""Reset everything for the test"""\n
+\n
+pref = getattr(context.portal_preferences, "erp5_ui_test_preference", None)\n
+if pref is None:\n
+  pref = context.portal_preferences.newContent(id="erp5_ui_test_preference", portal_type="Preference")\n
+pref.setPreferredListboxViewModeLineCount(None)\n
+pref.setPreferredListboxListModeLineCount(10)\n
+if pref.getPreferenceState() == \'disabled\':\n
+  pref.enable()\n
+else:\n
+  context.portal_caches.clearAllCache()\n
+\n
+return \'Reset Successfully.\'\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>testManifest_PreferenceReset</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Reset Everything</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_web_manifest_test/TestTemplateItem/portal_components/test.erp5.testManifest.py b/bt5/erp5_web_manifest_test/TestTemplateItem/portal_components/test.erp5.testManifest.py
new file mode 100644
index 0000000000..0ccd960725
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/TestTemplateItem/portal_components/test.erp5.testManifest.py
@@ -0,0 +1,48 @@
+##############################################################################
+#
+# 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 = "erp5_web_manifest_ui_zuite"
+  
+  def getBusinessTemplateList(self):
+    return (
+      'erp5_web_renderjs_ui',
+      'erp5_web_renderjs_ui_test',
+      'erp5_ui_test_core',
+      'erp5_web_manifest'
+      )
+
+def test_suite():
+  suite = unittest.TestSuite()
+  suite.addTest(unittest.makeSuite(TestZeleniumCore))
+  return suite
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/TestTemplateItem/portal_components/test.erp5.testManifest.xml b/bt5/erp5_web_manifest_test/TestTemplateItem/portal_components/test.erp5.testManifest.xml
new file mode 100644
index 0000000000..c4496b9848
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/TestTemplateItem/portal_components/test.erp5.testManifest.xml
@@ -0,0 +1,125 @@
+<?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>testManifest</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>test.erp5.testManifest</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>
+                  <none/>
+                </value>
+            </item>
+            <item>
+                <key> <string>validation_state</string> </key>
+                <value> <string>draft</string> </value>
+            </item>
+          </dictionary>
+        </list>
+      </tuple>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_web_manifest_test/bt/dependency_list b/bt5/erp5_web_manifest_test/bt/dependency_list
new file mode 100644
index 0000000000..dc9ff10727
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/dependency_list
@@ -0,0 +1,2 @@
+erp5_web_manifest
+erp5_ui_test_core
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/description b/bt5/erp5_web_manifest_test/bt/description
new file mode 100644
index 0000000000..c9cbf3d0b6
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/description
@@ -0,0 +1 @@
+Manifest Website User Interface Tests
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/license b/bt5/erp5_web_manifest_test/bt/license
new file mode 100644
index 0000000000..3a3e12bcad
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/license
@@ -0,0 +1 @@
+GPL
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/template_format_version b/bt5/erp5_web_manifest_test/bt/template_format_version
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/template_format_version
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/template_keep_last_workflow_history_only_path_list b/bt5/erp5_web_manifest_test/bt/template_keep_last_workflow_history_only_path_list
new file mode 100644
index 0000000000..16bc0355fe
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/template_keep_last_workflow_history_only_path_list
@@ -0,0 +1,2 @@
+portal_tests/erp5_web_manifest_ui_zuite
+portal_tests/erp5_web_manifest_ui_zuite/*
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/template_keep_workflow_path_list b/bt5/erp5_web_manifest_test/bt/template_keep_workflow_path_list
new file mode 100644
index 0000000000..16bc0355fe
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/template_keep_workflow_path_list
@@ -0,0 +1,2 @@
+portal_tests/erp5_web_manifest_ui_zuite
+portal_tests/erp5_web_manifest_ui_zuite/*
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/template_path_list b/bt5/erp5_web_manifest_test/bt/template_path_list
new file mode 100644
index 0000000000..16bc0355fe
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/template_path_list
@@ -0,0 +1,2 @@
+portal_tests/erp5_web_manifest_ui_zuite
+portal_tests/erp5_web_manifest_ui_zuite/*
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/template_test_id_list b/bt5/erp5_web_manifest_test/bt/template_test_id_list
new file mode 100644
index 0000000000..407d180dab
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/template_test_id_list
@@ -0,0 +1 @@
+test.erp5.testManifest
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/test_dependency_list b/bt5/erp5_web_manifest_test/bt/test_dependency_list
new file mode 100644
index 0000000000..bff77e32d8
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/test_dependency_list
@@ -0,0 +1 @@
+erp5_full_text_mroonga_catalog
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/title b/bt5/erp5_web_manifest_test/bt/title
new file mode 100644
index 0000000000..f6ed999382
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/title
@@ -0,0 +1 @@
+erp5_web_manifest_test
\ No newline at end of file
diff --git a/bt5/erp5_web_manifest_test/bt/version b/bt5/erp5_web_manifest_test/bt/version
new file mode 100644
index 0000000000..ceab6e11ec
--- /dev/null
+++ b/bt5/erp5_web_manifest_test/bt/version
@@ -0,0 +1 @@
+0.1
\ No newline at end of file
-- 
2.30.9