From 93f5487d254393dc2a5d65032bbb804d7b96a84e Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Tue, 11 Jul 2006 09:57:50 +0000
Subject: [PATCH] Add a new test which check that edit can modify wrong tales
 expression.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@8383 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testBase.py | 59 ++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/product/ERP5/tests/testBase.py b/product/ERP5/tests/testBase.py
index 00db5dcf3c..8f2b343ae7 100644
--- a/product/ERP5/tests/testBase.py
+++ b/product/ERP5/tests/testBase.py
@@ -802,6 +802,65 @@ class TestBase(ERP5TypeTestCase):
     sequence_list.addSequenceString(sequence_string)
     sequence_list.play(self)
 
+  def stepCreateBaseCategory(self, sequence=None, sequence_list=None, **kw):
+    """
+    Create a base category.
+    """
+    portal = self.getPortal()
+    module = portal.portal_categories
+    object_instance = module.newContent(portal_type="Base Category")
+    sequence.edit(
+        object_instance=object_instance,
+    )
+
+  def stepSetBadTalesExpression(self, sequence=None, sequence_list=None, **kw):
+    """
+    Set a wrong tales expression
+    """
+    object_instance = sequence.get('object_instance')
+    tales_expression = "python: 1 + 'a'"
+    object_instance.edit(acquisition_portal_type_list=tales_expression)
+    sequence.edit(
+        tales_expression=tales_expression,
+    )
+
+  def stepCheckTalesExpression(self, sequence=None, sequence_list=None, **kw):
+    """
+    Set a wrong tales expression
+    """
+    object_instance = sequence.get('object_instance')
+    tales_expression = sequence.get('tales_expression')
+    self.assertEquals(object_instance.getAcquisitionPortalTypeList(evaluate=0),
+                      tales_expression)
+
+  def stepSetGoodTalesExpression(self, sequence=None, 
+                                 sequence_list=None, **kw):
+    """
+    Set a wrong tales expression
+    """
+    object_instance = sequence.get('object_instance')
+    tales_expression = "python: 1 + 1"
+    object_instance.edit(acquisition_portal_type_list=tales_expression)
+    sequence.edit(
+        tales_expression=tales_expression,
+    )
+
+  def test_07_setEditTalesExpression(self, quiet=0, run=run_all_test):
+    """
+    Test if edit update a tales expression.
+    """
+    if not run: return
+    sequence_list = SequenceList()
+    sequence_string = '\
+              CreateBaseCategory \
+              SetBadTalesExpression \
+              CheckTalesExpression \
+              SetGoodTalesExpression \
+              CheckTalesExpression \
+              '
+    sequence_list.addSequenceString(sequence_string)
+    sequence_list.play(self)
+
 if __name__ == '__main__':
     framework()
 else:
-- 
2.30.9