From 70da850336e5e0679b25f524cadc382d91b8933b Mon Sep 17 00:00:00 2001
From: Tomas Peterka <tomas.peterka@nexedi.com>
Date: Tue, 26 Dec 2017 10:02:35 +0100
Subject: [PATCH] [renderjs_ui_test] Add test for formatting non-editable float
 field without specified precision

Test for bugfix /#/bug_module/20171208-5E8D43

/reviewed-on https://lab.nexedi.com/nexedi/erp5/merge_requests/529
---
 .../testFloatFieldFormatting.xml              | 58 ++++++++++++++++++
 .../testFloatFieldFormatting.zpt              | 60 +++++++++++++++++++
 2 files changed, 118 insertions(+)
 create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_float_field_zuite/testFloatFieldFormatting.xml
 create mode 100644 bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_float_field_zuite/testFloatFieldFormatting.zpt

diff --git a/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_float_field_zuite/testFloatFieldFormatting.xml b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_float_field_zuite/testFloatFieldFormatting.xml
new file mode 100644
index 0000000000..7ce9ead7f1
--- /dev/null
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_float_field_zuite/testFloatFieldFormatting.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>testFloatFieldFormatting</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_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_float_field_zuite/testFloatFieldFormatting.zpt b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_float_field_zuite/testFloatFieldFormatting.zpt
new file mode 100644
index 0000000000..1d1b5a4dab
--- /dev/null
+++ b/bt5/erp5_web_renderjs_ui_test/PathTemplateItem/portal_tests/renderjs_ui_float_field_zuite/testFloatFieldFormatting.zpt
@@ -0,0 +1,60 @@
+<html xmlns:tal="http://xml.zope.org/namespaces/tal"
+      xmlns:metal="http://xml.zope.org/namespaces/metal">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Test Float Value with Float Fields</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Test basic functionality and decimal precision in both modes (non/editable)</td></tr>
+</thead><tbody>
+<tal:block metal:use-macro="here/PTZuite_CommonTemplate/macros/init" />
+<tr><td>open</td>
+    <td>${base_url}/foo_module/1/Foo_createObjects?start:int=1&amp;num:int=1</td><td></td></tr>
+<tr><td>open</td>
+    <td>${base_url}/foo_module/Zuite_waitForActivities</td><td></td></tr>
+
+<!-- Shortcut for full renderjs url -->
+<tr><td>store</td>
+    <td>${base_url}/web_site_module/renderjs_runner</td>
+    <td>renderjs_url</td></tr>
+<tr><td>open</td>
+    <td>${renderjs_url}/#/foo_module/1?editable=1</td><td></td></tr>
+<tr><td>waitForElementPresent</td>
+    <td>//input[@name="field_my_quantity"]</td><td></td></tr>
+<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" />
+
+<tr><td>assertText</td>
+    <td>//div[@data-gadget-scope="field_my_quantity_read_only"]//p</td>
+    <td>0.0</td></tr>
+<tr><td>assertValue</td>
+    <td>//input[@name="field_my_quantity"]</td>
+    <td>0.0</td></tr>
+
+<tr><td>type</td>
+    <td>field_my_quantity</td>
+    <td>1000000.0</td></tr>
+<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/save" />
+<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" />
+<tr><td>verifyValue</td>
+    <td>field_my_quantity</td>
+    <td>1000000.0</td></tr>
+<tr><td>verifyText</td>
+    <td>//div[@data-gadget-scope="field_my_quantity_read_only"]//p</td>
+    <td>1 000 000.0</td></tr>
+
+<!-- default quantity has to be 0
+This is regression test for bug #20171208-5E8D43
+it tests right formatting of non-editable float field when precision is not defined -->
+<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/toggle_editable_mode" />
+<tal:block metal:use-macro="here/Zuite_CommonTemplateForRenderjsUi/macros/wait_for_listbox_loaded" />
+<tr><td>waitForElementPresent</td>
+    <td>//div[@data-gadget-scope="field_listbox"]//table/tbody/tr[1]/td[3]//p</td><td></td></tr>
+<tr><td>verifyText</td>
+    <td>//div[@data-gadget-scope="field_listbox"]//table/tbody/tr[1]/td[3]//p</td>
+    <td>0</td></tr>
+
+</tbody></table>
+</body>
+</html>
\ No newline at end of file
-- 
2.30.9